From a2e64e32f6a649b89f9388987c12c99f99d56566 Mon Sep 17 00:00:00 2001 From: vasilito Date: Fri, 24 Jul 2026 10:09:49 +0900 Subject: [PATCH] docs: pcid-spawner full retirement + quirks universal model pointers - AGENTS.md + docs/README.md: pcid-spawner is retired and removed (2026-07-24); driver-manager owns the path unconditionally; services list and networking description updated. - Migration plan v3.1 section: fallback framing replaced with the full retirement (crate, service files, build wiring removed; source in git history). - Assessment: pcid-spawner row updated to retired; the never-delete constraint noted as superseded by the operator's retirement decision. --- docs/README.md | 2 +- local/AGENTS.md | 21 ++++++++++--------- local/docs/DRIVER-MANAGER-MIGRATION-PLAN.md | 7 ++++--- .../driver-manager/ASSESSMENT-2026-07-22.md | 5 +++-- 4 files changed, 19 insertions(+), 16 deletions(-) diff --git a/docs/README.md b/docs/README.md index ccc239d892..969c3f01ad 100644 --- a/docs/README.md +++ b/docs/README.md @@ -107,7 +107,7 @@ This summary is only a quick orientation layer. For canonical current-state deta - **Mesa**: software-rendered path is present; full GBM / hardware-validated Wayland path is still incomplete. - **GPU drivers**: redox-drm scheme daemon exists; Intel build-oriented path exists; AMD currently has a bounded retained compile path (`redox-drm` + Red Bear glue) while the imported Linux AMD DC/TTM/core trees remain builds and included in redbear-full (2026-04-29). Hardware validation is still pending. - **Input**: evdevd compiled, libevdev built, libinput 1.30.2 built -- **Networking**: native wired stack present (`pcid-spawner` → NIC daemon → `smolnetd`/`dhcpd`/`netcfg`), Red Bear ships a native `netctl` command, RTL8125 is wired into the existing Realtek autoload path, and the bounded Intel Wi‑Fi path now has host-tested profile start/stop plus interface-specific DHCP handoff without claiming real wireless connectivity. +- **Networking**: native wired stack present (`driver-manager` → NIC daemon → `smolnetd`/`dhcpd`/`netcfg`), Red Bear ships a native `netctl` command, RTL8125 is wired into the existing Realtek autoload path, and the bounded Intel Wi‑Fi path now has host-tested profile start/stop plus interface-specific DHCP handoff without claiming real wireless connectivity. - **PCI / IRQ quality**: architecturally strong substrate exists, with bounded MSI-X, IOMMU, xHCI IRQ, and low-level-controller proof surfaces; broader hardware robustness is still intentionally tracked as open work in `../local/docs/IRQ-AND-LOWLEVEL-CONTROLLERS-ENHANCEMENT-PLAN.md` - **Wi-Fi profile target**: `config/redbear-wifi-experimental.toml` is the first explicit tracked image slice for bounded Intel Wi‑Fi validation, instead of spreading that claim across the generic desktop profiles. - **Bluetooth**: one bounded in-tree BLE-first experimental slice exists, and the Battery Level read-only workload now has a packaged in-guest checker plus a host QEMU harness; QEMU validation is still in progress, so broad desktop Bluetooth parity is still incomplete diff --git a/local/AGENTS.md b/local/AGENTS.md index b3286c4654..fa54b0e069 100644 --- a/local/AGENTS.md +++ b/local/AGENTS.md @@ -1423,12 +1423,13 @@ When mainline updates affect our work: - `local/docs/IRQ-AND-LOWLEVEL-CONTROLLERS-ENHANCEMENT-PLAN.md` is the current umbrella plan for IRQ delivery, MSI/MSI-X quality, IOMMU validation, and other low-level controller completeness work. - `local/docs/DRIVER-MANAGER-MIGRATION-PLAN.md` (v3.2, 2026-07-24) is the canonical planning - authority for the migration from `pcid-spawner` (`local/sources/base/drivers/pcid-spawner/`) to + authority for the migration from `pcid-spawner` (retired and removed 2026-07-24; + source preserved in git history) to `driver-manager` (`local/recipes/system/driver-manager/`). **CUTOVER COMPLETE (2026-07-23, operator-ratified):** driver-manager owns the boot-time PCI match/claim/spawn path in every - `redbear-*` config; pcid-spawner is retired from configs and gated behind - `/etc/driver-manager.d/disabled` as the operator fallback (never deleted). init supports - systemd-style `ConditionPathExists` (with `!` negation) for the gate. v3.1 records the + `redbear-*` config, unconditionally; pcid-spawner is fully retired from configs, services, + build wiring, and the tree. init supports + systemd-style `ConditionPathExists` (with `!` negation). v3.1 records the completed P0/LDR/P2 program: claim-via-channel collapse (`ENOLCK` exclusivity — the pcid-spawner model); spawned-mode `pci_register_driver` in linux-kpi (honors `PCID_CLIENT_CHANNEL`; driver-manager is the single owner of match-claim-spawn for native @@ -1436,14 +1437,14 @@ When mainline updates affect our work: `pcie_capability_*` + PM state; redbear-iwlwifi `--daemon` onboarding + `70-wifi.toml`; `--import-linux-ids` Linux id_table→TOML pipeline; scheme operator surface (`bind`/`unbind`/`new_id`/`remove_id`/`driver_override`/`rescan`); Tier-1 driver_override; - success-triggered deferred retry; modern_tech/exec advisory theater removed. Open: P0-4 - QEMU runtime gate (in progress), P2-1 pcid AER/pciehp producers, P3 policy/hygiene. + success-triggered deferred retry; modern_tech/exec advisory theater removed. v3.2 adds the + passed QEMU runtime gate (initfs ahcid bind, switchroot, rootfs e1000d concurrent bind, + scheme live, resident hotplug loop) and the `thread::scope` platform finding. Open: + P2-1 pcid AER/pciehp producers, P3 policy/hygiene. Services integration (assessment § 11): driver-params bridge live; udev-shim driver-binding view is a P3 gap; D-Bus correctly absent (bridge-on-demand). See - `local/docs/evidence/driver-manager/ASSESSMENT-2026-07-22.md` (B1–G10) and + `local/docs/evidence/driver-manager/ASSESSMENT-2026-07-22.md` (B1–G10, § 12 gate) and `local/docs/evidence/driver-manager/D5-AUDIT.md` for capability status. - The inline deferred comments in `config/redbear-device-services.toml` were resolved by - the cutover. - `local/docs/QUIRKS-SYSTEM.md` documents the hardware quirks infrastructure: compiled-in tables, TOML runtime files, DMI matching, driver integration, and the linux-kpi C FFI bridge. - `local/docs/QUIRKS-IMPROVEMENT-PLAN.md` is the current follow-up plan for removing quirks drift, @@ -1829,7 +1830,7 @@ redbear-mini.toml └── redbear-legacy-base.toml └── redbear-netctl.toml └── [packages] pciids, redbear-hwutils, redbear-netctl, redbear-info, cub, etc. - └── [services] pcid-spawner, netctl boot, console, debug console + └── [services] driver-manager, netctl boot, console, debug console redbear-grub.toml └── redbear-mini.toml diff --git a/local/docs/DRIVER-MANAGER-MIGRATION-PLAN.md b/local/docs/DRIVER-MANAGER-MIGRATION-PLAN.md index 9323b7f846..47e7c28608 100644 --- a/local/docs/DRIVER-MANAGER-MIGRATION-PLAN.md +++ b/local/docs/DRIVER-MANAGER-MIGRATION-PLAN.md @@ -67,9 +67,10 @@ not know, dep-crate warnings, `acpid pci_fd is not registered` error). The v3.0 work program is implemented and the operator has ratified the cutover: **driver-manager owns the boot path in every `redbear-*` -config; pcid-spawner is retired from configs and gated behind -`/etc/driver-manager.d/disabled` as the operator fallback (never -deleted).** Future OS development is based on driver-manager. +config, unconditionally. pcid-spawner is fully retired (2026-07-24) — +removed from configs, init service files, the base build wiring, and +the crate itself (source preserved in git history). No fallback +remains.** Future OS development is based on driver-manager. Completed items: diff --git a/local/docs/evidence/driver-manager/ASSESSMENT-2026-07-22.md b/local/docs/evidence/driver-manager/ASSESSMENT-2026-07-22.md index 2dcde3931d..385b720ef0 100644 --- a/local/docs/evidence/driver-manager/ASSESSMENT-2026-07-22.md +++ b/local/docs/evidence/driver-manager/ASSESSMENT-2026-07-22.md @@ -147,7 +147,8 @@ them as done. ## 4. Plan viability The D-phase/C-phase structure is sound and the § 0.6 parallel-development -constraint (never enable before D5 ratifies, never delete pcid-spawner) +constraint (never enable before D5 ratifies, never delete pcid-spawner — +superseded 2026-07-24 by the operator's full-retirement decision) has been honored. What the plan got wrong: 1. **It marked capabilities "✅ Done" at compile grade that are broken at @@ -223,7 +224,7 @@ the missing gate. | **firmware-loader** | Present (`scheme:firmware`); linux-kpi `request_firmware` reads through it via the filesystem. | `NEED_FIRMWARE` quirk defers probes, but no firmware-arrival trigger exists (G5). | | **redox-drm + amdgpu** | Works via in-process FFI; bypasses both claim systems. | Spawned as a driver-manager child (class 0x03). LDR-4 migrates amdgpu to the spawned-mode path. | | **redbear-iwlwifi** | CLI tool, manual PCI scan, spawned by nothing. | LDR-3 gives it a driver-manager config and proper claim. | -| **pcid-spawner** | The incumbent. Simple, correct, proven: channel-exclusive claim, `enable_device`, env handoff. | The behavioral reference for P0-1; stays in-tree as the dormant fallback after cutover. | +| **pcid-spawner** | The incumbent. Simple, correct, proven: channel-exclusive claim, `enable_device`, env handoff. | The behavioral reference for P0-1. **Retired and removed 2026-07-24** (operator decision) — crate, service files, and build wiring deleted; source preserved in git history. | ---