pci-bus registers and reports what it scans (M19.2)
Each function is registered under the bridge with the config-space slice and BARs sized by the same all-ones probe the kernel uses — byte-for-byte equal descriptors, so the idempotent register returns the kernel's existing node ids during coexistence instead of duplicating the tree. The bridge gained the 16-bit io_port aperture that functions' I/O BARs need to pass containment. Reports carry the registered device_id, and the pci-scan scenario drills a forced restart: kill the enumerator after its reports, watch the respawn re-scan, and assert the broker's PCI node count never grew. The usb-restart test trigger is pinned to the xHCI reporter (pci-bus racing it to two reports used to steal the kill). Harness hardening: failing cases preserve their serial logs; the heavy scenarios run at 150s.
This commit is contained in:
@@ -89,12 +89,13 @@ branch is green; keep branches; push everything.
|
||||
manager matches pci_host_bridge → pci-bus per device with the full
|
||||
protocol contract; `pci-scan` builds its expected marker from the
|
||||
kernel's own count — equivalence on the first run; suite 55/55).
|
||||
- [ ] **M19.2** — register + report: each function registered under the bridge
|
||||
(config-space slice + BARs, `pci_class` in the descriptor), reported with
|
||||
`child_added { device_id, identity = class triple }`. Manager mirrors;
|
||||
spawn-from-reports stays **off**. Scenario extends `pci-scan`:
|
||||
registered ids resolve, no duplicates after a forced driver restart
|
||||
(idempotence proven end to end).
|
||||
- [x] **M19.2** — register + report (BAR probe mirrored byte-for-byte from the
|
||||
kernel's addBars so dedupe returns the kernel's node ids during
|
||||
coexistence; the bridge gained the io_port aperture I/O BARs need;
|
||||
reports carry the registered device_id; pci-scan drills a forced restart
|
||||
and asserts the PCI node count never grows — plus harness hardening: a
|
||||
failing case now preserves its serial as <case>-failed-serial.log, and
|
||||
the heavy scenarios run at 150s; suite 55/55).
|
||||
- [ ] **M19.3** — the flip: kernel `enumeratePci` call removed (bridge node
|
||||
stays); manager matches PCI drivers from reports. One commit. The
|
||||
existing xHCI scenarios (`driver-restart`, `usb-report`, `device-list`)
|
||||
|
||||
Reference in New Issue
Block a user