Introduce boot.mgr - a self-registering, dependency-ordered boot initialization framework with barrier-based phasing and glob pattern matching. Units now declare their own init procedures and dependencies via registerBoot()/registerBarrier() in their initialization sections, boot.mgr.run() topologically sorts and executes them. - Add src/boot/boot.mgr.pas with topoSort, glob matching, barrier two-pass algorithm, and boot tree printer - Gut src/asuro.pas (kmain): now just stores multiboot info, calls System.init(), boot.mgr.run, and yield() - Add initialization sections with registerBoot() to 53 existing units - Add new units: core.pas, test.pas, driver.storage.boot.pas, app.wasm.pas, app.bsod.pas (factored out of asuro.pas) - Define 9 barrier phases: immediate -> early -> middle -> storage -> bus -> device -> bus.late -> late -> final - Fix xHCI ISR: exclude PRC/WRC from PORTSC change bit clearing to prevent race with port reset busy-wait - Fix driver.bus.usb.core fire_completion_hooks: guard against uint32 underflow when CompletionHookCount = 0 - Move auto_mount_volumes from device barrier to late barrier so it runs after PCI scan discovers storage controllers - Add toolchain/compile_initcalls.sh for boot entry extraction - Add Boot Registration sections to all 51 doc files; create 4 new doc files; rewrite boot.mgr.md; update mkdocs.yml nav
856 B
856 B
arch.x86.isr
ISR driver initialisation stub.
Overview
This is a minimal stub unit that satisfies compile-time dependencies on an ISR initialisation entry point. The init procedure body is empty; actual ISR handler registration and IDT gate setup are performed by arch.x86.isr.mgr and the individual handler units in the isr/ and fault/ subdirectories.
Boot Registration
Registered with boot.mgr as asuro.x86.isr, depending on glob driver.storage.*.mgr (waits for all matching entries).
Functions and Procedures
init
procedure init();
Empty stub. Called by the kernel boot sequence as part of the interrupt subsystem initialisation order. No operation is performed.
Notes
This unit exists solely to provide a well-defined initialisation hook. All substantive ISR logic resides in arch.x86.isr.mgr.