|
miniOS
x86_64 hobby kernel with SMP, VFS, and POSIX process model
|
| LAPIC / IOAPIC | Local and I/O APIC initialisation, IPI dispatch, and LAPIC timer |
| SMP Boot and Per-CPU State | ACPI MADT parsing, AP boot sequence, and per-CPU cpu_t management |
| Ticket Spinlock | FIFO ticket spinlock with IRQ-safe variants |
| Block Layer | A simple, cached block layer that abstracts the underlying ATA driver |
| VGA Text Console (low-level) | Direct VGA text-mode framebuffer driver used before VT initialises |
| PCI | PCI bus enumeration and configuration space access |
| TTY Line Discipline | Kernel TTY: line discipline, canonical/raw input, termios, and ioctl |
| VT/ANSI Terminal Core | ANSI/VT100 escape sequence parser and VGA-backed terminal renderer |
| IPI – Inter-Processor Interrupts | TLB shootdown and panic-halt IPI infrastructure |
| Kernel Heap (kmalloc/kfree) | Boundary-tag kernel heap allocator at HEAP_START (0xFFFF820000000000) |
| Syscall Interface | Linux-compatible syscall numbers and kernel syscall initialisation |
| Ring-3 Entry and Userspace Helpers | Functions to transfer execution to ring-3 and set up userspace argument arrays |