danos/system/services
Daniel Samson af2c766f42
The flip: PCI enumeration leaves the kernel (M19.3)
enumeratePci, addBars, pciConfigurationPtr, and the PciHeader struct are
deleted; the kernel seeds only the host bridge, and the ring-3 pci-bus
driver's reports are the sole source of PCI function nodes. The manager
matches PCI drivers from reported identity, deduped by registered device
id so a bus restart never double-spawns.

The flip did its job by exposing a latent SMP race: ring-3
device_register made the broker table concurrent for the first time, and
mmio_map read it lock-free — under load a torn resource length mapped
hpet's window wrong (its user fault) and underflowed r.len-1 into a
kernel integer-overflow panic. Fixed: the broker read in mmio_map (and
claim) runs under the big kernel lock, the arithmetic rejects
zero-length and wrapping windows cleanly, and pci-bus no longer registers
unimplemented size-0 BARs. driver-restart hammered 6x, suite 55/55.
2026-07-13 02:54:50 +01:00
..
acpi Placeholder discovery services and the -Ddiscovery build option 2026-07-13 01:46:04 +01:00
args-echo Pass arguments to main via runtime.process.Init, dispatched on signature 2026-07-11 14:22:48 +01:00
crash-test The device manager supervises: hello, backoff, and the crash-loop cap (M18.1) 2026-07-13 00:19:30 +01:00
device-list The application surface: enumerate, subscribe, and device-list (M18.3) 2026-07-13 00:49:03 +01:00
device-manager The flip: PCI enumeration leaves the kernel (M19.3) 2026-07-13 02:54:50 +01:00
fdt Placeholder discovery services and the -Ddiscovery build option 2026-07-13 01:46:04 +01:00
init Add input module: broadcast keyboard events over IPC 2026-07-11 15:03:24 +01:00
input Wire real PS/2 scancodes through to input events and characters 2026-07-11 22:48:59 +01:00
input-source Generalize input module to mouse and joystick/gamepad events 2026-07-11 15:21:09 +01:00
input-test Generalize input module to mouse and joystick/gamepad events 2026-07-11 15:21:09 +01:00
process-test The application surface: enumerate, subscribe, and device-list (M18.3) 2026-07-13 00:49:03 +01:00
vfs The application surface: enumerate, subscribe, and device-list (M18.3) 2026-07-13 00:49:03 +01:00