Commit Graph

13 Commits

Author SHA1 Message Date
Kevin Lange
0f344f2900 Rewrite fork/clone.
This is still a bit ugly, needs cleanup.
Fixes that weird GCC issue.
2013-06-06 18:04:13 -07:00
Kevin Lange
e70ebf8857 Big fat cleanup and GCC fix batch 2013-06-05 23:10:36 -07:00
Kevin Lange
41030465a8 Save/restore sse (poorly) 2013-04-15 23:23:56 -07:00
Kevin Lange
a9d895a923 unify logging 2012-12-07 18:33:07 -08:00
Kevin Lange
de7a984938 Fix a bunch of bugs in signal handling and scheduling 2012-02-20 23:31:00 -06:00
Kevin Lange
a72f9bc7cf Fix stack bug. 2012-02-16 14:31:40 -06:00
Kevin Lange
6590b285b5 Mouse improvements (stability, scaling) 2012-02-04 22:29:46 -06:00
Kevin Lange
339b82e10c [massive commit] Userspace terminal.
Completely removes:
* The kernel terminal (both VGA and graphical)
* The kernel ANSI parser (obviously)
* kgets() function
* Dozens of other functions that were made useless

Adds:
* Userspace terminal that should work (relatively) well
* Keyboard device driver (implemented with a "pipe" object)
* Stabalized interrupt interface
* `clear` uses the c library
* All panic screens and kprintf() output goes to the serial line ONLY
* The kernel boots directly into /bin/terminal (no arguments, unless you
  want to add them (such as -f))
2012-01-25 00:19:52 -06:00
Kevin Lange
0b6cc503af [isrs] Increment the IRQ semaphore before...
... handling any interrupt service routines.

This was causing crashes while running /userspace/ apps without any
syscalls being triggered, presumably due to switching at awkward times.
2012-01-23 19:04:10 -06:00
Kevin Lange
edebb12573 [misc] Boot logging to screen 2011-12-26 19:23:58 -06:00
Kevin Lange
021585e9ef [misc] Massive improvements to process handling
- Free process resources when a process exits (reaped in next process
  cycle; should probably reap after a wait() or something)
- Free process struct after wait()
- Fix page allocation
- Fix fork() return value for child process (attempted to write to an
  invalid point in kernel-stack memory)

We shouldn't be triple faulting randomly anymore!

Continue investigating the fork() return value, as there was a bugged
return at some point during executon of a test run of thrash-process.
2011-12-15 17:21:28 -06:00
Kevin Lange
dae4083454 [panic] Updated panic messages 2011-12-15 01:46:22 -06:00
Kevin Lange
8c548c0db0 Restructure directory tree for kernel modules 2011-12-14 22:15:47 -06:00