feature/boot.mgr #71

Merged
admin merged 3 commits from feature/boot.mgr into develop 2026-03-14 20:38:43 +00:00
Owner

feature: boot.mgr replace hardcoded init sequence with dependency-driven boot manager

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.

Implementation:

  • 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
  • Rebase on develop: fix duplicate include.
## feature: boot.mgr replace hardcoded init sequence with dependency-driven boot manager 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. Implementation: - 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 - Rebase on develop: fix duplicate include.
admin added 2 commits 2026-03-14 19:59:46 +00:00
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
Rebase on develop: fix duplicate include.
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
516be28057
t3hn3rd added 1 commit 2026-03-14 20:02:39 +00:00
Fix unicode characters
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
e7f7325c54
Aaron approved these changes 2026-03-14 20:05:30 +00:00
Dismissed
Aaron approved these changes 2026-03-14 20:38:20 +00:00
admin merged commit 7ed8012c7e into develop 2026-03-14 20:38:43 +00:00
Sign in to join this conversation.