Feature: USB - Hotplug, mass storage, disconnect callbacks, dynamic device lists
- Add disconnect callback (fnDisconnect) to TUSBDevice for safe unplug handling - Add HotplugArmed/PortChangePending flags to TUSBHCDriver for deferred hotplug processing from ISR context (OHCI RHSC, EHCI PCD, xHCI PSC) - Implement usb_rescan_port() and usb_check_hotplug() in usbcore - Add usb_bulk_transfer_wait() with timer-based timeout (bios_data_area) - Add timer-based timeout to usb_control_msg polling loop - Replace static device arrays with dynamic linked lists in class drivers: usb_keyboard (KeyboardList), usb_mouse (MouseList), usb_storage (StorageList) - Add 3-strike fail-count self-deactivation in keyboard/mouse poll loops - Add unload() disconnect handlers for keyboard, mouse, and storage drivers - Implement USB Mass Storage BOT driver (usb_storage.pas): CBW/CSW transport, SCSI INQUIRY/READ_CAPACITY/READ10/WRITE10, storagemanagement integration with read/write callbacks - xHCI: acknowledge port status change W1C bits in event handler - Integrate usb_check_hotplug + poll_keyboards/poll_mice into kernel main loop
This commit is contained in:
1 parent
25475a88a7
commit
7bbcc44c5e
9 files changed
+964
-53
No files matched your search
File diff suppressed because it is too large.
Load diff
Reference in new issue
Block a user