Skip to main content

Crate strat9_kernel

Crate strat9_kernel 

Source
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.