e55e0f186b
USB-IMPLEMENTATION-PLAN.md P3-A: record the 2026-07-19 QEMU runtime validation (test-usb-hub-qemu.sh) — full usbhubd chain proven (descriptor, EP1 change detection, initial scan, debounce, reset to port-enable), the five latent bugs it surfaced and that were fixed (scheme attach bootstrap, bitmap off-by-one, missing initial scan, unbounded EP1 wait, debounce clear deadlock), QEMU's ClearPortFeature stall handled gracefully by P2-C recovery, and the remaining gap: hub-child device enumeration (usb-kbd to HID driver) blocked on xhcid's hub-child attach path (debug-level; TT/route investigation) plus an intermittent xhcid IRQ-reactor startup race. HARDWARE-VALIDATION-MATRIX.md: hub row to QEMU-validated for the enumeration chain, with the hub-child gap noted.
34 lines
1.9 KiB
Markdown
34 lines
1.9 KiB
Markdown
# 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 enumeration chain proven in QEMU (test-usb-hub-qemu.sh): descriptor, EP1 change detection, initial scan, debounce, reset→enable; hub-child device enumeration (kbd→HID) blocked on xhcid TT/debug path |
|
|
| **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
|