From 5e1bdc12bd298a9751da4285b7e93c68b1314332 Mon Sep 17 00:00:00 2001 From: salmonik Date: Tue, 4 Aug 2026 03:06:06 +0200 Subject: 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. --- Cargo.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'Cargo.lock') diff --git a/Cargo.lock b/Cargo.lock index ba46b62..515158d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,7 +4,7 @@ version = 4 [[package]] name = "rsdos" -version = "0.5.9" +version = "0.5.10" dependencies = [ "rsnix", "shell", @@ -19,11 +19,11 @@ dependencies = [ [[package]] name = "rsnix" -version = "0.5.9" +version = "0.5.10" [[package]] name = "shell" -version = "0.5.9" +version = "0.5.10" dependencies = [ "rsdosedit", "rsnix", -- cgit v1.2.3