Legacy USB host-controller architectures exhibit some serious shortcomings when applied to virtualized environments. Legacy USB host-controller interfaces define a relatively simple hardware data-pump; where critical state related to overall bus-management (bandwidth allocation, address assignment, etc.) resideresides in the software of the [[host controller | host-controller]] driver (HCD). Trying to apply the standard hardware IO virtualization technique,of- replicating I/O interface registers, - to the legacy USB host controller interface is problematic because critical state that must be managed across [[virtual machine]]s (VMs) is not available to hardware. The xHCI architecture moves the control of this critical state into hardware, enabling USB resource management across VMs. The xHCI virtualization features also provide for:
* Directdirect-Assignment of individual USB devices (irrespective of their ___location in the bus topology) to any VM.
* Supportsupport of PCIe SR-IOV ([http://www.intel.com/content/www/us/en/pci-express/pci-sig-sr-iov-primer-sr-iov-technology-paper.html single root I/O virtualization]).