Kevin Lange
dcaa023347
Processes now inherit names
2014-06-07 18:32:10 -07:00
Kevin Lange
02dbc0e1f4
some vague attempt at revealing links in stat
2014-06-07 12:58:45 -07:00
Kevin Lange
f21ab2b3fb
Default st_nlink to 1, not 0
2014-06-05 22:19:46 -07:00
Kevin Lange
9eb63b4bfd
more room for panic messages
2014-06-01 01:32:33 -07:00
Kevin Lange
252fe84ab0
Close and cleanup before we reap.
2014-05-27 23:20:02 -07:00
Kevin Lange
d696f51f8b
Real unix pipes
2014-05-27 21:38:30 -07:00
Kevin Lange
ab2a9f056f
Quick and dirty display server nesting - lots of mouse event changes
2014-05-26 12:43:22 -07:00
Kevin Lange
dff654ae93
Reduce debug messages for waitpid to INFO level
2014-05-18 10:27:28 -07:00
Kevin Lange
913c4b004f
make the video panic screen display a message
2014-05-10 19:12:31 -07:00
Kevin Lange
898c5f23d3
Desaturate entire display on kernel panic
2014-05-10 14:03:13 -07:00
Kevin Lange
ce48da7973
Fix debug_shell module
2014-05-03 00:15:07 -07:00
Kevin Lange
edd086b4aa
Bump version to 0.7.2
2014-05-02 23:28:27 -07:00
Kevin Lange
976c086e9c
Define num_syscalls at compile time
2014-05-02 18:52:43 -07:00
Kevin Lange
fe19f4ad19
Extensive syscall table cleanup
2014-05-02 18:47:41 -07:00
Kevin Lange
ac32220090
Remove disabled block of unneeded code in fork
2014-05-02 18:34:25 -07:00
Kevin Lange
bd73b07da9
Drop a few more legacy syscalls
2014-05-02 10:58:28 -07:00
Kevin Lange
e16043684a
Only bother to deliver non-ignored blocked signals
...
So we don't accidentally interrupt a read or something.
2014-04-29 00:52:36 -07:00
Kevin Lange
4d8335ad75
Implement proper wait/waitpid.
...
This is a pretty big commit, so let's run through it in parts:
- All of the userspace changes are to switch away from syscall_wait
Mostly, this is to waitpid; some things were tweaked to do things
"properly" instead of waiting for particular processes. Init has
been fixed to do a proper spin wait.
- syscall_wait is gone - as are its uses. newlib bindings have been
using just waitpid for a while now.
- waitpid now performs like a Unix waitpid
- process reaping is no longer a "do this on next change thing":
it happens when a process is waited on, like it should
(That means we can have real zombies: terminated processes that
have not yet been waited on)
- Reparenting of children to init has been implemented, so you
can fork-daemonize!
Overall, this is pretty big... So I hope it doesn't break everything.
2014-04-27 01:37:33 -07:00
Kevin Lange
1c65d3d663
Include git short sha in version string instead of -dev
2014-04-26 22:17:30 -07:00
Kevin Lange
2db3fccd24
Do a better job with page table management
2014-04-25 23:17:20 -07:00
Kevin Lange
f9db32ec99
Bump version
2014-04-25 20:39:09 -07:00
Kevin Lange
4beb3a42dc
throw frame allocation behind a lock so it's atomic
2014-04-25 00:15:08 -07:00
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
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
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
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
e11edbbfd4
Don't calculate syscall table size at runtime
2014-04-12 23:00:59 -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
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
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
9b5cf9cec5
Video as a module, kill device_init
2014-03-19 18:56:07 -07:00
Kevin Lange
17d092e3ff
Ramdisk support (again)
2014-03-18 21:37:12 -07:00
Kevin Lange
8080a74a2d
Module dependencies
2014-03-18 20:11:56 -07:00
Kevin Lange
e5aa49beda
(hack) make /dev listings work
...
This is a bit of a hack. /dev is presented as a new pseudo file type
until I finish the VFS overhaul. This fake file presents a directory
with entries for all of the VFS nodes that are children of it. The
future VFS will do this on its own, thus making this superfluous.
2014-03-16 21:41:19 -07:00
Kevin Lange
ee30393e48
Keyboard + Mouse as modules
2014-03-16 15:13:27 -07:00