From ad3321a5ce97dbd6eb5f4645b46d1807046a3216 Mon Sep 17 00:00:00 2001 From: vasilito Date: Fri, 24 Jul 2026 13:32:45 +0900 Subject: [PATCH] =?UTF-8?q?redbear-info:=20pcid-spawner=20=E2=86=92=20driv?= =?UTF-8?q?er-manager=20label;=20plan=20P2-1=20done?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit redbear-info's integration check list still labeled the PCI spawner as 'pcid-spawner' and pointed at /usr/bin/pcid-spawner (deleted). Updated to 'driver-manager' with /usr/bin/driver-manager and a note about /scheme/driver-manager/bound. Plan v3.2 marks P2-1 done (pcid AER + pciehp producers validated in QEMU). --- local/docs/DRIVER-MANAGER-MIGRATION-PLAN.md | 16 ++++++++++++++++ .../system/redbear-info/source/src/main.rs | 8 ++++---- 2 files changed, 20 insertions(+), 4 deletions(-) diff --git a/local/docs/DRIVER-MANAGER-MIGRATION-PLAN.md b/local/docs/DRIVER-MANAGER-MIGRATION-PLAN.md index 47e7c28608..2fc71b45b5 100644 --- a/local/docs/DRIVER-MANAGER-MIGRATION-PLAN.md +++ b/local/docs/DRIVER-MANAGER-MIGRATION-PLAN.md @@ -18,6 +18,22 @@ deferred), registers `scheme:driver-manager`, and enters the resident hotplug loop. pcid-spawner stays dormant on both phases via `ConditionPathExists`. +**P2-1 ✅ (2026-07-24): pcid produces AER + pciehp events.** A 500 ms +poller thread in pcid scans every enumerated device: the AER scanner +reads uncorrectable/correctable status from the PCIe AER extended +capability (emits `severity= device=` lines, W1C-clears), +the pciehp scanner reads Slot Status on hot-plug-capable ports (emits +`kind= device=` lines for presence-detect, DLL state, +attention button, MRL sensor, power fault, W1C-clears). Both streams +are capped 64-line logs served read-only at `/scheme/pci/aer` and +`/scheme/pci/pciehp`; device strings use the scheme dir-name format so +`route_to_driver` matches bound paths. driver-manager's AER listener +moved from the nonexistent `/scheme/acpi/aer` to `/scheme/pci/aer`. +Extended capabilities need ECAM; fallback machines produce nothing +gracefully. QEMU gate: poller running (6 devices, 500 ms), listener on +the producer path, zero errors. MSI-based delivery remains the +follow-up once pcid grows an IRQ path for AER/hotplug. + Four runtime bugs found and fixed by the gate (none visible at compile grade — exactly why the runtime column exists): diff --git a/local/recipes/system/redbear-info/source/src/main.rs b/local/recipes/system/redbear-info/source/src/main.rs index 4b5cb898fb..6b0971988f 100644 --- a/local/recipes/system/redbear-info/source/src/main.rs +++ b/local/recipes/system/redbear-info/source/src/main.rs @@ -353,13 +353,13 @@ const INTEGRATIONS: &[IntegrationCheck] = &[ functional_probe: Some(probe_smolnetd_surface), }, IntegrationCheck { - name: "pcid-spawner", + name: "driver-manager", category: "Core", - description: "PCI driver autoload daemon", - artifact_path: Some("/usr/bin/pcid-spawner"), + description: "PCI driver match/claim/spawn daemon", + artifact_path: Some("/usr/bin/driver-manager"), control_path: Some("/scheme/pci"), test_hint: "lspci", - note: "The PCI scheme proves discovery is live, but not which driver handled each device.", + note: "The PCI scheme proves discovery is live; /scheme/driver-manager/bound shows which drivers are bound.", functional_probe: Some(probe_directory_readable), }, IntegrationCheck {