Expand description
Strat9-OS Kernel (Bedrock)
A minimal microkernel handling:
- Scheduling
- IPC (Inter-Process Communication)
- Memory primitives
- Interrupt routing
Everything else runs as userspace component servers.
Re-exportsยง
pub use boot::limine::kmain;
Modulesยง
- acpi
- ACPI (Advanced Configuration and Power Interface) support. Inspired by Theseus OS, MaestroOS, Aero, and Redox.
- arch
- async_
io - Asynchronous I/O subsystem.
- audit
- Kernel audit log for security-sensitive operations.
- boot
- Boot subsystem
- capability
- Capability-based Security System
- components
- Kernel component declarations : Strat9-OS boot orchestration.
- debug
- debug_
cfg - Centralised debug configuration.
- dma
- DMA (Direct Memory Access) safety abstractions.
- entropy
- Kernel entropy pool : a cryptographically sound random bytes from interrupt noise.
- framebuffer
- hardware
- Hardware integration layer.
- ipc
- Inter-Process Communication (IPC) subsystem.
- memory
- namespace
- Minimal namespace binding (temporary global table).
- ostd
- OSTD-like (OS Trusted Domain) abstraction layer for Strat9-OS
- process
- Process and Task Management
- shell
- Chevron shell - Minimal interactive kernel shell
- silo
- Silo manager (kernel-side, minimal mechanisms only)
- sync
- syscall
- Strat9-OS Syscall Interface
- trace
- Lightweight kernel trace buffers for low-level debugging.
- vfs
- Virtual File System (VFS) - Plan 9-inspired namespace.
Macrosยง
- boot_
milestone - Log a boot milestone with elapsed time since kernel entry.
- e9_
print - e9_
println - early_
print - Early print macro without newline
- early_
println - Early print macro for bootstrap debugging (before full logger is ready)
- serial_
force_ println - Print to serial port with newline, bypassing the shared mutex.
- serial_
print - Print to serial port
- serial_
println - Print to serial port with newline
- shell_
print - Print to both serial and VGA.
- shell_
println - Print to both serial and VGA with newline.
- trace_
mem - vga_
print - Print to framebuffer console (falls back to serial when unavailable).
- vga_
println - Print line to framebuffer console (falls back to serial when unavailable).
Constantsยง
- MAX_
BOOT_ ๐MMAP_ REGIONS_ WORK - PAGE_
SIZE ๐
Functionsยง
- align_
down ๐ - Performs the align down operation.
- align_
up ๐ - Performs the align up operation.
- boot_
module_ ๐slice - Performs the boot module slice operation.
- count_
free_ ๐like_ regions - init_
apic_ ๐subsystem - Initialize the APIC subsystem (Local APIC + I/O APIC + APIC Timer).
- init_
components - Initialize kernel components using the component system
- init_
logger - Initialize the logger (uses serial)
- init_
serial - Initialize serial output
- kernel_
main โ - Main kernel initialization - called by bootloader entry points
- log_
boot_ ๐module_ magics - Performs the log boot module magics operation.
- null_
region ๐ - Performs the null region operation.
- panic_
handler ๐ - Kernel panic handler
- register_
boot_ ๐initfs_ modules - Performs the register boot initfs modules operation.
- register_
initfs_ ๐module - Performs the register initfs module operation.
- reserve_
range_ ๐in_ map - Performs the reserve range in map operation.
- virt_
or_ ๐phys_ to_ phys - Performs the virt or phys to phys operation.