Commit Graph

594 Commits

Author SHA1 Message Date
Kevin Lange
e3ffd36083 Fix critical exec issue with not freeing old dir
We weren't freeing old page directories on exec, so regardless of the
actual size needed for the new process, we ended up with a huge address
space usage. Now, all of the memory from the other process is going to
be copied on the fork, and we can't do anything about that (beyond
writing a separate syscall that forks+replaces without the copy, or
implementing CoW, the latter being preferred) but that's at least a
well-know "problem".
2014-04-24 00:03:55 -07:00
Kevin Lange
c31bedd69e Let's just ... not do that 2014-04-21 19:40:28 -07:00
Kevin Lange
d0bfc0a5bb Efficient reallocation of SHM chunks (mostly) 2014-04-20 17:11:35 -07:00
Kevin Lange
d967fae3a5 Track down the root of that malloc problem 2014-04-20 13:19:52 -07:00
Kevin Lange
d99dc5688e Fix a glitch with signal handling 2014-04-19 19:10:22 -07:00
Kevin Lange
ff56f48ed5 Handle common symbols in module loader 2014-04-19 13:21:56 -07:00
Kevin Lange
3459f19443 List all undefined symbols before bailing when loading modules 2014-04-19 00:08:42 -07:00
Kevin Lange
ead93c5307 Probably as good a time as any to mark off 0.7.0 2014-04-18 20:40:25 -07:00
Kevin Lange
9b3cfc7fe6 More gracefully handle cases where ramdisk is big 2014-04-15 23:10:00 -07:00
Kevin Lange
6c6c3e18c1 Don't spam the log when increases the kernel heap 2014-04-15 19:57:25 -07:00
Kevin Lange
9ad1b50cb8 Change how we determine that a process is in a queue 2014-04-13 02:05:12 -07:00
Kevin Lange
d43f517464 Remove a lock from something that shouldn't be locking anyway 2014-04-13 02:05:01 -07:00
Kevin Lange
7d2083cae9 handle printf("%s", NULL) without crashing 2014-04-13 02:04:34 -07:00
Kevin Lange
20a1c56023 Fix some major paging issues 2014-04-13 02:04:01 -07:00
Kevin Lange
c1a2c312bb Fix a typo and a potentially crash with timers 2014-04-13 02:03:11 -07:00
Kevin Lange
d25e66b4bf Fix a null dereference from lists/trees 2014-04-13 02:02:17 -07:00
Kevin Lange
bf5d607a83 Fix extern declaration of isrs table 2014-04-13 02:01:56 -07:00
Kevin Lange
1f4d108c6c Don't allocate buffer on stack 2014-04-13 02:01:31 -07:00
Kevin Lange
0033d16cfa Fix a bad printf in syscalls 2014-04-13 02:01:20 -07:00
Kevin Lange
402392c109 Fix a potential crash on kernel tasklet startup 2014-04-13 02:01:08 -07:00
Kevin Lange
5a5cb62ce0 kill sockfs, what even is this 2014-04-13 00:51:37 -07:00
Kevin Lange
367c31c687 Restructuring intial paging setup 2014-04-12 23:03:56 -07:00
Kevin Lange
5673c2ee8f Cleanup fault handling 2014-04-12 23:03:44 -07:00
Kevin Lange
8cd386ba5b Set up a fake device for early boot logging 2014-04-12 23:02:03 -07:00
Kevin Lange
9e50872d5e Add multiboot mem map struct 2014-04-12 23:01:38 -07:00
Kevin Lange
e11edbbfd4 Don't calculate syscall table size at runtime 2014-04-12 23:00:59 -07:00
Kevin Lange
5a134e9a67 Fix missing header include 2014-04-12 18:46:25 -07:00
Kevin Lange
bf5409d0da Fix a problem with list merging / trees 2014-04-12 18:30:42 -07:00
Kevin Lange
7cb739b7cd Fix signalled wakeups from timed sleeps 2014-04-12 18:25:56 -07:00
Kevin Lange
ed6dc9507d Fix signal wakeups from existing sleeps 2014-04-12 18:15:28 -07:00
Kevin Lange
597a17949e Lists should have owners. 2014-04-12 18:15:10 -07:00
Kevin Lange
d771a2bff2 Don't forget to free those 2014-04-12 18:14:52 -07:00
Kevin Lange
2a53068ddc pipes and ringbuffers should have two wait queues 2014-04-12 18:14:35 -07:00
Kevin Lange
b09c08e48b Remove dead code 2014-04-12 18:14:07 -07:00
Kevin Lange
3d7a3969eb Support launching arbitrary debug shells 2014-04-11 22:43:39 -07:00
Kevin Lange
a5a17099f6 pretty kernel debug shell 'help' command 2014-04-11 18:29:28 -07:00
Kevin Lange
860ded23d2 update some copyright years 2014-04-11 09:41:46 -07:00
Kevin Lange
9b2d31f51f make pci_scan take an extra arg 2014-04-10 23:34:55 -07:00
Kevin Lange
75a7d5e7f2 Fix some module loading silliness 2014-04-10 23:08:07 -07:00
Kevin Lange
7009e4ec1c Continued progress on Yutani 2014-04-06 18:21:35 -07:00
Kevin Lange
a9b9c2e20d Random header cleanup 2014-04-05 16:36:17 -07:00
Kevin Lange
521dc9b77b rename fs_printf, move it to logging, kill kprintf
fs_printf is now fprintf
kprint_to_file is now debug_file

debug_file and fprintf are defined in logging
kprintf has been removed
2014-04-05 16:12:09 -07:00
Kevin Lange
51d398fc76 Remove special handling for tty access, make init do it 2014-04-05 15:43:14 -07:00
Kevin Lange
f16145cff6 lots of log overhauling 2014-04-05 15:23:17 -07:00
Kevin Lange
7dd6646ae3 Logging tweaks to kill some kprintfs 2014-04-05 15:05:24 -07:00
Kevin Lange
f8deaed26a Dirty hack to fix breakage when nothing is running 2014-04-04 21:30:14 -07:00
Kevin Lange
5277e3ce64 More PEX cleanup 2014-04-02 22:50:32 -07:00
Kevin Lange
8b64e2b7d9 read/write when not present should return errors 2014-04-02 00:26:04 -07:00
Kevin Lange
c74ede8c3b Remove superfluous definition of kernel_symbol_t 2014-03-27 23:39:54 -07:00
Kevin Lange
9ff5bd39da Expose tmpfs functionality so modules can extend it later 2014-03-27 23:38:22 -07:00