Four driver commits hardening USB for real hardware — three xHCI metal-only bug fixes and DWC2 HID keyboard stages 4-6 implementation.
xHCI fixes
Event-ring cycle bit
30c395b — fix consumer cycle-bit check. Metal-only bug: QEMU's event ring always works, real xHCI controllers need correct cycle-bit tracking.
Scratchpad buf count
153fa59 — fix scratchpad buffer count extraction from HCSPARAMS2. Some controllers require all scratchpad buffers allocated at init.
Three critical fixes
9f40669 — three additional real-hardware fixes for metal-only bugs that pass in QEMU but fail on real xHCI controllers.
DWC2 HID keyboard stages 4-6
USB control transfers
50edbcf — implements real stages 4-6: port reset pulse, Get Device Descriptor control transfer, Set Config + HID interrupt-IN setup. Previously stubs, now real USB protocol.