Kernel
This document describes the Kyronix kernel subsystem. It is the child of System Architecture and parent of all kernel-specific architecture documents.
Kernel Overview
The Kyronix kernel (codename k9) is a monolithic kernel for x86_64, version 0.2. It boots via the Limine v3 protocol and initializes the following subsystems in order:
- Serial output and printf setup
- GDT and IDT
- Physical Memory Manager (PMM) with LL-Free lock-free allocator
- Virtual Memory Manager (VMM) with 4-level page tables
- Local APIC and SMP
- Kernel heap allocator
- Syscall entry (SYSCALL/SYSRET)
- Process scheduler
- Jail sandboxing
- Virtual Filesystem (VFS) with
/proc,/sys,/dev/ptsmounts - PCI enumeration, ACPI, AHCI, VirtIO-net
- Network stack (lwIP)
- PIT timer and LAPIC timer calibration
- Application Processor (AP) boot
- ChaCha20 CSPRNG
- Root filesystem mount and init exec
Kernel Entry Point
The kernel entry point is kmain() in kernel/kernel.c:255. It receives no arguments from the bootloader; all boot information is obtained via Limine protocol requests.
Sections
- Boot – Limine protocol and boot sequence
- Architecture – x86_64 hardware abstractions
- Memory Management – PMM, VMM, heap, VMA
- Process Management – Scheduler, SMP, signals, jails
- Filesystems – VFS, ext2, procfs, devfs
- Drivers – PCI, ACPI, AHCI, VirtIO, input, TTY
- Networking – lwIP, network interface
- Syscalls – Linux ABI-compatible syscall interface
Last reviewed: 2026-07-22