danos/system
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
..
devices The flip: PCI enumeration leaves the kernel (M19.3) 2026-07-13 02:54:50 +01:00
drivers The flip: PCI enumeration leaves the kernel (M19.3) 2026-07-13 02:54:50 +01:00
kernel The flip: PCI enumeration leaves the kernel (M19.3) 2026-07-13 02:54:50 +01:00
services The flip: PCI enumeration leaves the kernel (M19.3) 2026-07-13 02:54:50 +01:00
abi.zig The device manager supervises: hello, backoff, and the crash-loop cap (M18.1) 2026-07-13 00:19:30 +01:00
boot-handoff.zig zig fmt 2026-07-12 16:04:58 +01:00
initial-ramdisk.zig Post-reorg cleanup: POSIX layer, and naming fixes 2026-07-10 13:33:06 +01:00
parameters.zig The device manager supervises: hello, backoff, and the crash-loop cap (M18.1) 2026-07-13 00:19:30 +01:00