summaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorsalmonik <salmonik@tuta.io>2026-11-01 16:33:09 +0100
committersalmonik <salmonik@tuta.io>2026-11-01 16:33:09 +0100
commit363e24bcd18a28948f63fa78ac8a4eaa8784fe59 (patch)
tree6b74ab993ff42e3bf15b01f4cfd09bcb3f0d5ea6 /Makefile
parentusb: real-hardware rework — hubs, both EHCI controllers, keyboard, xHCI har... (diff)
downloadrs-dos-363e24bcd18a28948f63fa78ac8a4eaa8784fe59.tar.gz
rs-dos-363e24bcd18a28948f63fa78ac8a4eaa8784fe59.zip
scripts: add test-usb; fix duplicate -bios in the test harness
- test-usb boots an EHCI and an xHCI controller with a mouse + keyboard and asserts enumeration, report decoding, and input reaching the shell. The EHCI case asserts one key end-to-end (QEMU's EHCI model delivers only the first report through root-port split transactions); the xHCI case asserts a whole typed command. - lib.sh: qemu_args() already supplies -bios, so the fresh OVMF varstore copy was silently overridden by the system firmware. Pass the copy last (QEMU honours the last -bios) so tests really boot clean NVRAM. - DEBUG_NOTES: document why USB never worked on the OptiPlex (EHCI shipped with DEBUG_MATRIX enabled, no RMH/hub support, only the first controller, no boot protocol, unbounded DMA), the success/failure log to look for on hardware, and the QEMU coverage limits. - Makefile: add test-usb and include it in `make test`.
Diffstat (limited to '')
-rw-r--r--Makefile8
1 files changed, 6 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index ee9755f..ead8c20 100644
--- a/Makefile
+++ b/Makefile
@@ -6,7 +6,7 @@
6SYSTEM_IMG ?= /tmp/system.img 6SYSTEM_IMG ?= /tmp/system.img
7 7
8.PHONY: all build run run-headless debug system system-fresh inspect \ 8.PHONY: all build run run-headless debug system system-fresh inspect \
9 test test-disk test-fault test-gfx test-mouse test-msg fmt clean help 9 test test-disk test-fault test-gfx test-mouse test-msg test-usb fmt clean help
10 10
11# ---- build ---------------------------------------------------------------- 11# ---- build ----------------------------------------------------------------
12 12
@@ -45,7 +45,7 @@ inspect:
45 45
46# ---- tests ---------------------------------------------------------------- 46# ---- tests ----------------------------------------------------------------
47 47
48test: test-disk test-gfx test-mouse test-msg test-fault 48test: test-disk test-gfx test-mouse test-msg test-fault test-usb
49 49
50test-disk: 50test-disk:
51 ./scripts/tests/test-disk.sh 51 ./scripts/tests/test-disk.sh
@@ -62,6 +62,9 @@ test-mouse:
62test-msg: 62test-msg:
63 ./scripts/tests/test-msg.sh 63 ./scripts/tests/test-msg.sh
64 64
65test-usb:
66 ./scripts/tests/test-usb.sh
67
65# ---- utilities ------------------------------------------------------------ 68# ---- utilities ------------------------------------------------------------
66 69
67fmt: 70fmt:
@@ -86,6 +89,7 @@ help:
86 @echo " make test-mouse PS/2 mouse + cursor tracking" 89 @echo " make test-mouse PS/2 mouse + cursor tracking"
87 @echo " make test-msg scheduler message queues" 90 @echo " make test-msg scheduler message queues"
88 @echo " make test-fault fault dump (screen + serial)" 91 @echo " make test-fault fault dump (screen + serial)"
92 @echo " make test-usb USB HID enumeration (EHCI + xHCI)"
89 @echo " make fmt format Rust source" 93 @echo " make fmt format Rust source"
90 @echo " make clean remove build artifacts" 94 @echo " make clean remove build artifacts"
91 @echo "" 95 @echo ""