Commit Graph

20 Commits

Author SHA1 Message Date
Dale Weiler
e27cb1b96f Align stack pointer on kernel proper entry to 16-byte. Eliminate dead-lock in frame allocator on OOM. Formatting. 2015-05-21 15:09:42 -04:00
Dale Weiler
a699c91ddd ISR/IRQ cleanup 2015-05-21 13:22:06 -04:00
Dale Weiler
12ef7fba8b Optimizations 2015-05-20 23:32:21 -04:00
Dale Weiler
6e1a594adc Wait for IO on IRQ remap. 2015-05-20 23:08:58 -04:00
Dale Weiler
5ddbbf8199 Some IRQ cleanup 2015-05-20 19:52:19 -04:00
Kevin Lange
9a72bfc4cd Add half-assed support for IRQ chaining.
We only support 4 total chain entries at the moment, but that can be
"easily expanded"... We don't really have a lite dynamic vector, just
the big fat dynamic lists, so improving on this needs some extra effort.

This commit also drags in a bunch of random network work by necessity.
2015-05-18 21:07:06 -07:00
Mike Gerow
ac17214207 Added ability to check if an IRQ is already occupied.
A proper solution would probably be to introduce shared IRQs at some
point in time.
2015-05-13 01:33:05 -07:00
Kevin Lange
4a36d6bb9e Fix a potential deadlock and improve irq on/off 2015-04-13 23:39:23 -07:00
Kevin Lange
d3cddf169a And then some more magic to merge the vimhints and the copyright headers 2014-06-07 23:58:31 -07:00
Kevin Lange
1287af81ef Reinsert vim hints magically 2014-06-07 23:51:01 -07:00
Kevin Lange
a2ed4b4f0e strip vim: lines from kernel 2014-06-07 23:43:21 -07:00
Kevin Lange
ef7d72c1e1 License headers and a tool to generate them 2014-06-07 23:13:29 -07:00
Kevin Lange
d50710e250 Fix erroneous irq ack 2014-05-06 23:27:58 -07:00
Kevin Lange
e70ebf8857 Big fat cleanup and GCC fix batch 2013-06-05 23:10:36 -07:00
Kevin Lange
a9d895a923 unify logging 2012-12-07 18:33:07 -08: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
edebb12573 [misc] Boot logging to screen 2011-12-26 19:23:58 -06:00
Kevin Lange
8c548c0db0 Restructure directory tree for kernel modules 2011-12-14 22:15:47 -06:00