summaryrefslogtreecommitdiffstats
path: root/rsnix/src/lib.rs
diff options
context:
space:
mode:
authorsalmonik <salmonik@tuta.io>2026-08-04 03:06:06 +0200
committersalmonik <salmonik@tuta.io>2026-08-04 03:06:06 +0200
commit5e1bdc12bd298a9751da4285b7e93c68b1314332 (patch)
treecc4ae9f256dda100477784a47cbc53373fce79b1 /rsnix/src/lib.rs
parentv0.5.9: fix OptiPlex heap crash — EBS retry must not rebuild the free list (diff)
downloadrs-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.rs1
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;
17pub mod qr; 17pub mod qr;
18pub mod power; 18pub mod power;
19pub mod ps2; 19pub mod ps2;
20pub mod usb;
20pub mod rtc; 21pub mod rtc;
21pub mod sched; 22pub mod sched;
22pub mod serial; 23pub mod serial;