diff options
| author | salmonik <salmonik@tuta.io> | 2026-08-04 03:06:06 +0200 |
|---|---|---|
| committer | salmonik <salmonik@tuta.io> | 2026-08-04 03:06:06 +0200 |
| commit | 5e1bdc12bd298a9751da4285b7e93c68b1314332 (patch) | |
| tree | cc4ae9f256dda100477784a47cbc53373fce79b1 /rsnix/src/lib.rs | |
| parent | v0.5.9: fix OptiPlex heap crash — EBS retry must not rebuild the free list (diff) | |
| download | rs-dos-5e1bdc12bd298a9751da4285b7e93c68b1314332.tar.gz rs-dos-5e1bdc12bd298a9751da4285b7e93c68b1314332.zip | |
v0.5.10: USB HID mouse via polled xHCI (rsnix/src/usb.rs)
Polled xHCI driver (mouse-only): controller bring-up, port reset,
enable-slot -> address-device -> config-descriptor walk -> HID boot
mouse IN endpoint, one outstanding IN TRB drained on poll. Cursor
task polls usb first, PS/2 second. New 'usb'/'usb rescan' shell cmds.
Verified in QEMU (q35 + OVMF + qemu-xhci + usb-mouse): movement and
all three buttons tracked exactly; heap stays clean.
Fixes en route: MaxPorts=HCSPARAMS1[31:24]; operational regs CRCR=0x18
DCBAAP=0x30 CONFIG=0x38; pass input-context ptr in Address-Device;
Input Control Context DW0=Drop DW1=Add; HID walker bInterfaceClass at
+5; async discovery from cursor task.
Diffstat (limited to '')
| -rw-r--r-- | rsnix/src/lib.rs | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/rsnix/src/lib.rs b/rsnix/src/lib.rs index dbb327c..bc2553d 100644 --- a/rsnix/src/lib.rs +++ b/rsnix/src/lib.rs | |||
| @@ -17,6 +17,7 @@ pub mod pci; | |||
| 17 | pub mod qr; | 17 | pub mod qr; |
| 18 | pub mod power; | 18 | pub mod power; |
| 19 | pub mod ps2; | 19 | pub mod ps2; |
| 20 | pub mod usb; | ||
| 20 | pub mod rtc; | 21 | pub mod rtc; |
| 21 | pub mod sched; | 22 | pub mod sched; |
| 22 | pub mod serial; | 23 | pub mod serial; |
