Files
RedBear-OS/local/docs/HARDWARE-VALIDATION-MATRIX.md
T
vasilito 8801805031 docs: record expect-to-python harness migration and 2026-07-20 runtime-proof status
IRQ plan + validation matrix: 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. MSI-X (virtio-net) and xHCI interrupt-driven mode were re-confirmed on
the current redbear-mini ISO. Re-confirmation of the login-based legs with the
new harness is pending an uncontended host (parallel QEMU workload kills QEMU
processes and stalls guest boots). Also record the fbcond Performing-handoff
boot freeze observed with -vga std (separate graphics-path issue).
2026-07-20 05:56:39 +09:00

3.1 KiB

Hardware Validation Matrix — Red Bear OS

Component QEMU Bare Metal Notes
Storage
AHCI SATA 🔲 NCQ structure present, not runtime-validated
NVMe 🔲 🔲 Basic driver, no multiqueue
virtio-blk N/A QEMU only
Network
e1000 🔲 🔲 ITR structure present, no offload validation
rtl8168 🔲 🔲 PHY config present, not runtime-tested
virtio-net N/A QEMU only
Audio
Intel HDA 🔲 🔲 Codec detection + jack sense added, not validated
AC97 🔲 🔲 Basic driver
Input
PS/2 🔲 QEMU keyboard/mouse work
USB HID 🔲 Keyboard/mouse autospawn via test-usb-qemu.sh (P1 hardening); not validated on real HW
USB
xHCI host controller 🔲 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
EHCI/UHCI/OHCI controllers 🔲 🔲 Compile clean; runtime enumeration proofs planned (P8-B)
USB storage (BOT) 🔲 usbscsid autospawn + bounded sector readback proven (test-usb-storage-qemu.sh); guest-side write verify open
USB hub (non-root) 🔲 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)
GPU/Display
VESA 🔲 QEMU framebuffer works
virtio-gpu N/A 2D only, QEMU
CPU/Power
cpufreqd 🔲 🔲 Governors implemented, not HW-validated
thermald 🔲 🔲 ACPI thermal zones, not HW-validated
SMP
x2APIC/SMP Multi-core works

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

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. 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 that kills QEMU processes and stalls guest boots under load; boots reach getty but the login prompt is not observed within the timeout there. The marks above reflect prior validation of those legs.
  • 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.