Fix serial driver so that it properly receives input from device
Implement keyboard input
Currently only available to test through qemu VGA console
Remove arch/x86 crate and move into rxinu crate
Ran into problem of calling device init code and using devices inside of arch crate. It's not possible if the device code is located in the top-level rxinu crate
Alternative was to duplicate all device code across architecture crates (MIPS, ARM). I chose not to follow this path
Moved io module into syscall module to make io calls common across architectures
Made SerialPort generic to support ports of different sizes
Added an exception macro to reduce code duplication across exception handlers
irq will likely need a similar macro when more irq handlers are added
Minor Changes
Make is now a little smarter when it comes to serial/vga
Supports FEATURES flag to abstract qemu flags and running
Changed print and println macros to kprint and kprintln
Major Changes
rxinu
crateio
module intosyscall
module to makeio
calls common across architecturesSerialPort
generic to support ports of different sizesexception
macro to reduce code duplication across exception handlersirq
will likely need a similar macro when more irq handlers are addedMinor Changes
FEATURES
flag to abstract qemu flags and runningprint
andprintln
macros tokprint
andkprintln