diff options
| author | salmonik <salmonik@tuta.io> | 2026-11-01 16:33:09 +0100 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-11-01 16:33:09 +0100 |
| commit | 363e24bcd18a28948f63fa78ac8a4eaa8784fe59 (patch) | |
| tree | 6b74ab993ff42e3bf15b01f4cfd09bcb3f0d5ea6 /Makefile | |
| parent | usb: real-hardware rework — hubs, both EHCI controllers, keyboard, xHCI har... (diff) | |
| download | rs-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-- | Makefile | 8 |
1 files changed, 6 insertions, 2 deletions
| @@ -6,7 +6,7 @@ | |||
| 6 | SYSTEM_IMG ?= /tmp/system.img | 6 | SYSTEM_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 | ||
| 48 | test: test-disk test-gfx test-mouse test-msg test-fault | 48 | test: test-disk test-gfx test-mouse test-msg test-fault test-usb |
| 49 | 49 | ||
| 50 | test-disk: | 50 | test-disk: |
| 51 | ./scripts/tests/test-disk.sh | 51 | ./scripts/tests/test-disk.sh |
| @@ -62,6 +62,9 @@ test-mouse: | |||
| 62 | test-msg: | 62 | test-msg: |
| 63 | ./scripts/tests/test-msg.sh | 63 | ./scripts/tests/test-msg.sh |
| 64 | 64 | ||
| 65 | test-usb: | ||
| 66 | ./scripts/tests/test-usb.sh | ||
| 67 | |||
| 65 | # ---- utilities ------------------------------------------------------------ | 68 | # ---- utilities ------------------------------------------------------------ |
| 66 | 69 | ||
| 67 | fmt: | 70 | fmt: |
| @@ -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 "" |
