Files
RedBear-OS/local/docs/HARDWARE-VALIDATION-MATRIX.md
T
vasilito 163d6f0a59 docs: resolve stale cross-references after 2026-07-27 doc consolidation
The 2026-07-27 Round 9 cleanup deleted 36 docs (3D-DRIVER-PLAN,
WAYLAND-IMPLEMENTATION-PLAN, DRM-MODERNIZATION-EXECUTION-PLAN,
REDBEAR-FULL-SDDM-BRINGUP, and the entire archived/ and
legacy-obsolete-2026-07-25/ contents) but several active docs still
cross-referenced those deleted files. This commit sweeps the surviving
docs and:

* Replaces every deleted-path reference with the live target:

    WAYLAND-IMPLEMENTATION-PLAN.md         -> 3D-DESKTOP-COMPREHENSIVE-PLAN.md
    3D-DRIVER-PLAN.md                      -> 3D-DESKTOP-COMPREHENSIVE-PLAN.md
    REDBEAR-FULL-SDDM-BRINGUP.md           -> 3D-DESKTOP-COMPREHENSIVE-PLAN.md
    legacy-obsolete-2026-07-25/DRM...      -> 3D-DESKTOP-COMPREHENSIVE-PLAN.md
    legacy-obsolete-2026-07-25/IRQ...      -> IRQ-AND-LOWLEVEL-...-PLAN.md
    archived/UPSTREAM-SYNC-PROCEDURE.md    -> removed (sync procedure now in
                                              BUILD-CACHE-PLAN.md +
                                              sync-versions.sh)
    archived/RELIBC-IPC-ASSESSMENT-...     -> removed (work captured in
                                              KERNEL-IPC-CREDENTIAL-PLAN.md)
    archived/DRIVER-MANAGER-MIGRATION-PLAN -> removed (history in DRIVER-MANAGER.md
                                              and git log)
    archived/INTEL-HDA-IMPLEMENTATION-PLAN -> removed (track now in 3D-DESKTOP-
                                              COMPREHENSIVE-PLAN.md § SOF/AVS)

* Rewrites pcid-spawner references to driver-manager in PACKAGE-BUILD-QUIRKS,
  PATCH-GOVERNANCE, NETWORKING-IMPROVEMENT, LG-GRAM-16Z90TP, and the IRQ plan
  status note. The retired pcid-spawner service no longer exists in any
  redbear-* config as of the 2026-07-24 cutover.

* Rewrites CONSOLE-TO-KDE-DESKTOP-PLAN.md §9 plan table to point at the
  post-Round-9 canonical doc map (3D-DESKTOP-COMPREHENSIVE-PLAN.md as the
  single coherent 3D-render plan; IRQ plan at top-level). Drops the
  misleading 'archived legacy-obsolete-2026-07-25/' status line and the
  'work subsumed by Round 1-5' sentence that was explicitly rejected by
  SUPERSEDED-DOC-LOG.

* Updates 3D-DESKTOP-COMPREHENSIVE-PLAN.md §10 to mark the REPLACE, RESTORE,
  and DELETE pre-execution audit as completed 2026-07-27. Tables remain as
  historical record of what was done, with a pointer to the backup tarballs
  and SUPERSEDED.md log.

* Bumps 'Last updated' of CONSOLE-TO-KDE-DESKTOP-PLAN.md to v6.1.

13 files changed, +78/-65.
2026-07-27 19:08:58 +09:00

12 KiB
Raw Blame History

Hardware Validation Matrix — Red Bear OS

Component QEMU Bare Metal Hardware Notes
Storage
AHCI SATA 🔲 [MISSING] NCQ structure present, not runtime-validated. No AHCI-capable SATA controller inventoried for bare-metal testing.
NVMe 🔲 🔲 [AVAILABLE] (LG Gram: SK Hynix [1c5c:1959]) Basic driver, no multiqueue. NVMe is class-matched (class=1 subclass=8), initfs-capable. The LG Gram's NVMe is available for Phase 1 BM validation.
virtio-blk N/A N/A QEMU only
Network
e1000d (Intel Gigabit) (e1000e emul.) 🔲 [MISSING] ITR structure present, no offload validation. QEMU -device e1000e emulates 82574L 8086:10d3 — proven bounded (DHCP+ping). Physical e1000/e1000e NIC not identified in any inventoried bench. Modern I219/I225 NOT supported.
rtl8168d (Realtek Gigabit) 🔲 (no QEMU emul.) 🔲 [MISSING] PHY config present. QEMU has no rtl8168 model — must be tested bare metal. No physical RTL8168/8169 NIC identified in any bench.
rtl8139d (Realtek Fast Eth.) 🔲 (QEMU avail., not proven) 🔲 [DEFERRED] Legacy 10/100 NIC. QEMU -device rtl8139 available but not runtime-proven. Physical RTL8139: legacy PCI, deprioritized vs. gigabit.+
ixgbed (Intel 10GbE) 🔲 (no QEMU emul.) 🔲 [MISSING] Port of ixy.rs, <1000 LoC, MSI-X. 40 PCI IDs supported (82599 family). No physical 10GbE NIC (X520/X540/X550) inventoried.
virtio-netd (VirtIO) (MSI-X proven) N/A N/A QEMU only. MSI-X + bounded VM networking baseline proven.
redbear-iwlwifi (Intel Wi-Fi) 🔲 (VFIO only) 🔲 [AVAILABLE] (LG Gram BE201 [8086:7740]) MVM candidates: AX210/AX211/AX201/9462 (all [MISSING] hardware). MLD candidates: BE201 [8086:7740] (only MLD device — [AVAILABLE] in LG Gram). VFIO/passthrough framework exists; no emulated Wi-Fi in QEMU. Firmware pre-staged for BE201 c101c106. MLD Rust layer code-complete (23 tests), never HW-validated. See HARDWARE-NETWORKING-INVENTORY.md §2.6.
redbear-ecmd (USB CDC ECM) 🔲 (not tested) 🔲 [MISSING] USB CDC ECM/NCM driver for USB-Ethernet dongles. No dongle inventoried. Critical: only viable interim network for LG Gram (no wired NIC).
Audio
Intel HDA 🔲 🔲 [AVAILABLE] (LG Gram: cAVS/SOF [8086:7728]) Codec detection + jack sense added, not validated. LG Gram HDA is cAVS/DSP-based legacy HDA cannot reach ALC298 codec behind DSP; needs SOF port.
AC97 🔲 🔲 [MISSING] Basic driver. No AC97 hardware inventoried.
Input
PS/2 🔲 [AVAILABLE] (LG Gram: i8042 keyboard, AUX disabled) QEMU keyboard/mouse work. LG Gram has PS/2 keyboard (AUX port disabled — handled by ps2d).
USB HID 🔲 [AVAILABLE] (LG Gram: USB keyboard/mouse attachable) Keyboard/mouse autospawn via test-usb-qemu.sh (P1 hardening); not validated on real HW.
I2C-HID Touchpad 🔲 🔲 [AVAILABLE] (LG Gram: 04CA:00CC on LPSS DesignWare I2C) Full I2C chain code-complete (dw-i2c engine, LPSS PCI bring-up, i2c-hidd with multitouch parser). Runtime proof pending Phase 1 boot.
USB
xHCI host controller 🔲 [AVAILABLE] (LG Gram: 2× xHCI [8086:7ec0, 8086:777d]) Interrupt-driven mode proven (test-xhci-irq-qemu.sh); 51-flag quirk table + HCCPARAMS2 gating (P2-A/B); 36-code error recovery (P2-C); not HW-validated. LG Gram quirks decoded (SPURIOUS_SUCCESS, INTEL_HOST, AVOID_BEI, LPM_SUPPORT).
EHCI/UHCI/OHCI controllers 🔲 🔲 [MISSING] Compile clean; runtime enumeration proofs planned (P8-B). No EHCI/UHCI/OHCI hardware identified in inventoried benches.
USB storage (BOT) 🔲 [AVAILABLE] (any USB mass-storage device) usbscsid autospawn + bounded sector readback proven (test-usb-storage-qemu.sh); guest-side write verify open.
USB hub (non-root) 🔲 [MISSING] Hub + hub-child enumeration proven in QEMU (test-usb-hub-qemu.sh): hub descriptor/EP1/scan/debounce/reset→enable, and usb-kbd behind hub enumerates to HID subdriver (class 3.1 keyboard); "reactor race" root-caused to startup latency under load (not a deadlock). No physical hub inventoried.
GPU/Display
VESA 🔲 [AVAILABLE] (LG Gram: GOP framebuffer) QEMU framebuffer works. LG Gram VESA via GOP framebuffer — vesad fix for bare metal landed (2026-06-19).
virtio-gpu N/A N/A 2D only, QEMU
redox-drm (Intel MTL iGPU) 🔲 🔲 [AVAILABLE] (LG Gram: MTL [8086:7d51]) 0x7D51 in INTEL_GEN12_MTL_IDS. DMC load, GMBUS EDID, CPU PWM backlight, GuC/HuC/GSC manifest — all code-complete (2026-07-22). Display init assumes Gen8-era reg layout. No HW validation.
CPU/Power
cpufreqd 🔲 🟡 (BM MSR path fixed) [AVAILABLE] (LG Gram: Arrow Lake-H HWP) Governors implemented, MSR path fixed (2026-06-19). Bare-metal boot verified with HWP on Intel laptop. Not yet validated on LG Gram specifically.
thermald 🔲 🔲 [AVAILABLE] (LG Gram: TZ00 + MSR-based) ACPI thermal zones, not HW-validated. MSR fallback path exists.
SMP
x2APIC/SMP [AVAILABLE] (Threadripper 128-thread + LG Gram 16-core hybrid) Multi-core works. AMD Threadripper 128-thread bare-metal proven. Intel Arrow Lake-H 16-core hybrid (P/E/LP-E) expected.
Driver Manager (driver-manager vs pcid-spawner)
D1 P0 capabilities (C1 dynids + C2 remove + C3 enable + C4 BAR) 🔲 N/A (code) Code complete; 52 tests pass; see local/docs/evidence/driver-manager/D5-AUDIT.md
D1 P1 SpawnDecision + format coexistence + policy blacklist 🔲 N/A (code) spawn_decision_gate() consults env/CLI/blacklist; convert_legacy reads legacy pcid.d format
D1 P1 PciQuirkFlags wired into spawn 🔲 N/A (code) driver-manager/src/quirks.rs consumes redox-driver-sys; NEED_FIRMWARE defers probe; NO_MSIX/NO_MSI/FORCE_LEGACY_IRQ signal intx-fallback via env; DISABLE_ACCEL signals accel-disable
D1 P1 /etc/driver-manager.d/ policy loader 🔲 N/A (code) local/recipes/system/driver-manager/source/src/policy.rs; reads TOML blacklist; consulted at probe
D2 SMP concurrent probe (worker pool over std::thread::scope) 🔲 N/A (code) redox-driver-core/src/concurrent.rs with CountingSemaphore; tested on host; opt-in via --concurrent=N
D2 PM hooks (Driver::suspend/resume + signal_then_collect) 🔲 N/A (code) Real SIGTERM/SIGKILL in DriverConfig; needs iommu/pcid SetPowerState wiring for actual D3
D2 AER foundation (Driver::on_error + ErrorSeverity + RecoveryAction) 🔲 N/A (code) Trait API complete; needs pcid AER wake source
D2 C-state / P-state / IOMMU / MSI-X / NUMA helpers Library 🔲 HW N/A (code) redox-driver-core/src/modern_technology.rs — concrete implementations; no driver-manager wrapper (orchestrator removed at v1.4 per policy decision)
D3 hotplug 🟡 Polling fallback 🔲 N/A (code) Reduced to 250ms; Bus::subscribe_hotplug returns Unsupported until pcid event delivery lands
D4 audit-no-stubs N/A N/A (code) local/scripts/driver-manager-audit-no-stubs.py scans 38 files; 0 violations at v1.7
D4 SIGHUP reload worker N/A N/A (code) driver-manager/src/sighup.rs; worker polls AtomicBool and calls SharedBlacklist::replace(); 1 unit test; libc::signal install is left to the host program
D4 blackbox test scripts N/A N/A (code) 8 scripts in local/scripts/test-driver-manager-*.sh
D4 heartbeat publisher N/A N/A (code) driver-manager/src/heartbeat.rs; writes JSON to /var/run/driver-manager.heartbeat.json every 5s; 3 unit tests
D4 AER listener infrastructure N/A N/A (code) driver-manager/src/aer.rs; polls /scheme/acpi/aer; 7 unit tests; falls back to log-and-no-op when scheme is absent
C0 dormant service files N/A N/A (code) Committed in local/sources/base submodule (commit 0407d9cc); both ConditionPathExists-gated
D5 feature-complete gate Code 🔲 HW [AVAILABLE] (Threadripper AMD + LG Gram Intel Alder Lake class) All code + tests pass; awaiting real-hardware validation on AMD Threadripper + LG Gram Arrow Lake-H.

= validated 🔲 = implemented, not validated 🟡 = partial N/A = not applicable

Hardware Status Codes (new, 2026-07-26)

Code Meaning
[AVAILABLE] Physical hardware present and accessible to operator
[MISSING] Hardware not present / not acquired — blocks bare-metal validation for this component
[DEFERRED] Hardware present or acquirable but not yet integrated into the test bench
N/A Not applicable: component is virtual (e.g. virtio), code-only, or has no hardware dependency

See local/docs/HARDWARE-NETWORKING-INVENTORY.md for full hardware bench inventory, per-driver PCI ID tables, Wi-Fi AP/card/firmware details, peer system specs, and acquisition recommendations. That document is the canonical hardware inventory for this validation matrix.

Status note (2026-07-26)

  • Hardware inventory created: local/docs/HARDWARE-NETWORKING-INVENTORY.md is the new Phase -1 gate. It enumerates all known hardware, marks missing items, and lists acquisition priorities.
  • Critical networking gaps: (1) Threadripper build host NIC inventory never collected — operator must check. (2) No USB-Ethernet dongle for LG Gram interim networking. (3) No dedicated Wi-Fi AP for bounded validation. (4) No physical Intel/Realtek NIC cards for bare-metal Ethernet validation.
  • LG Gram hardware available: Intel BE201 [8086:7740] Wi-Fi, NVMe SK Hynix, 2× xHCI, Intel MTL iGPU [8086:7d51], I2C-HID touchpad, PS/2 keyboard, Arrow Lake-H HWP — all mapped to drivers in this matrix. Phase 1 BM boot is the gate.
  • Network matrix expanded from 3 rows to 8 rows (added: rtl8139d, ixgbed, redbear-iwlwifi, redbear-ecmd) — per the systematic networking fix plan, all network drivers must be tracked individually with hardware availability.

Prior Status note (2026-07-20)

  • The login-based QEMU proofs (PS/2 + serio, monotonic timer, IOMMU first-use, USB storage BOT) now run through local/scripts/qemu-login-expect.py (stdlib python) instead of the host expect tool — no external dependency, per-step timeouts, and safe retry on premature QEMU death. See local/docs/IRQ-AND-LOWLEVEL-CONTROLLERS-ENHANCEMENT-PLAN.md § "Runtime proof status (2026-07-20)".
  • MSI-X (virtio-net) and xHCI interrupt-driven mode were re-confirmed on the current redbear-mini ISO — once more on 2026-07-20 ~09:10 JST via test-lowlevel-controllers-qemu.sh (log-grep legs, unaffected by host contention).
  • Re-confirmation of the login-based legs (PS/2, timer, BOT) with the new harness is pending an uncontended host — the current build host runs a parallel QEMU-testing workload (a concurrent agent session under ~/.claude/jobs/ with its own QMP-controlled guest) that SIGKILLs competing QEMU processes; boots reach getty but the login prompt is not observed within the timeout there. The marks above reflect prior validation of those legs. A retry loop (/tmp/opencode/a2-retry.sh) is armed to run the PS/2, timer, and USB-storage legs automatically once the foreign QEMU workload exits.
  • The IOMMU first-use leg currently skips on redbear-mini runs because build/x86_64/redbear-full/harddrive.img is absent — a redbear-full build is required to re-confirm that leg.
  • Display boots (-vga std) can freeze at the fbcond Performing handoff step (the reopen_for_handoff() path can block rather than return EAGAIN for retry). Headless (-vga none) boots avoid it. Tracked separately on the graphics stack.