Newer
Older
AMI-Aptio-BIOS-Reversed / AmiModulePkg / Usb / Uhcd / README.md
@Ajax Dong Ajax Dong 2 days ago 1 KB Full restructure

Uhcd

Field Value
Index 298
Module Uhcd
Size 76192 bytes (0x129A0)
Phase DXE

USB Host Controller Driver (xHCI) for the Lenovo HR650X platform. This AMI-proprietary driver manages xHCI controllers including driver entry and UHCD protocol installation, xHCI controller enumeration and initialization, USB device tree management (add/remove/update), control/bulk/interrupt/isochronous transfer scheduling, root hub emulation with port status and feature control, timer-based polling for interrupt transfers, and memory pool management for runtime USB data structures. The driver defines a large global context structure (~30KB) allocated from runtime memory and a private vtable for internal helper dispatch.

Key Functions

  • ModuleEntryPoint -- Driver entry; allocates gUsbData context and installs UHCD protocol
  • LocateAndInitXhciController -- Enumerates and initializes xHCI host controllers
  • XhciCapabilityProbe -- Probes xHCI capability registers for version and structural parameters
  • UsbRtAllocPages -- Runtime memory pool allocation for USB data structures
  • UsbDeviceTreeAdd/Remove/Update -- USB device tree management
  • UsbTransferSchedule -- Schedules control/bulk/interrupt/isochronous transfers on xHCI

Dependencies

  • UefiBootServicesTableLib, UefiRuntimeServicesTableLib
  • DebugLib, BaseLib, TimerLib
  • CPU IO2 Protocol, UHCD Protocol (AMI proprietary)

Platform

x86-64 PE32+ (UEFI DXE driver), Lenovo HR650X (Purley/Intel grantley-EP), AMI ModulePkg (Usb module)