64-bit operating system for x86 written from scratch. Some features are:
- GRUB support through Multiboot (ver. 1) compliance.
- 32-bit boot stub and library to setup initialize processor state for 64-bit long mode.
- ELF binary loader to set up 64-bit binaries.
- VGA text mode graphics library supporting multiple TTY instances displaying at once with standard I/O.
- Virtual and physical memory managers and kernel/user space fine-grained dynamic allocators.
Soon:
- Routed IRQ lines and initialized hardware interrupt handling with LAPIC and I/O APIC to support hardware timers (PIT, HPET, LAPIC), and external IRQ's e.g. (PS/2 controller).
- Device driver for PS/2 keyboard controller.
- A (modern) virtual machine for
x86_64. Needs to emulate BIOS firmware and have 1GiB of memory. (If you haveqemu-system-x86_64, then there is recipe in theMakefileto launch and wait for GDB with the corresponding.gdbinitconfig.)