wilkie 4e76831fb0 Add user mode execution with syscall support
- Add PIC driver to remap IRQs 0-15 to vectors 0x20-0x2F, preventing
  conflicts with CPU exception vectors (IRQ0/timer was hitting vector
  0x08/Double Fault)
- Extend GDT with user code/data segments (ring 3) and TSS for
  privilege level transitions
- Add INT 0x80 syscall handler supporting write() and exit() syscalls
- Configure IST1 for double fault handler to ensure reliable exception
  handling during privilege transitions
- Propagate USER flag through all intermediate page table entries
- Add jump_to_user() for transitioning to ring 3 via IRETQ

The kernel now successfully executes user-mode programs that can print
to serial output and exit cleanly via syscalls.
2025-12-28 01:59:56 -05:00
Description
An exokernel operating system written in D
9.6 MiB
Languages
D 93.7%
C 3.5%
Makefile 1%
Assembly 0.9%
Shell 0.8%
Other 0.1%