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