This Week In Tupai: 2018-02-19
This week, the first week of serious development, has seen some major improvements in Tupai; primarily due to the fact that the project now exists. We have active ports for both i386 and x86_64, as well as paging, VGA, exception, PIC, GDT and IDT support. We’re also using GRUB as the primary bootloader for now.
base
- Created build system using makefile, made kernel a modular component
- Started using GRUB as the bootloader
i386
- Added assembly startup routines
- Added Multiboot 2 compliance
- Set stack
- Preserved Multiboot data
- Set up higher and identity boot page tables
- Enable paging, jumped to higher-half code
- Added GDT support
- Added IDT support
- Added exception handler support
x86_64
- Began working on the x86_64 port
- Set up boot GDT
- Set up higher and identity boot page tables
- Enabled PAE, long mode in the MSR, jumped to to higher-half code
- Added GDT support
- Added IDT support
- Added exception handler stubs
x86 family
- Added PIC initiation and remapping support
- Added I/O port support
- Added exception / interrupt support
kernel
- Started using Rust
- Organised code into a modular, target-independent manner with conditional compilation
- Added logging macros
drivers
- Added simple VGA textmode driver
- Added colour support
- Added newline and tab support
- Added scrolling support