The driver software is typically provided with an operating system of a personal computer, but may also be implemented by application-specific devices such as a microcontroller.
Compared with UHCI, it moves more intelligence into the controller, and thus is accordingly much more efficient; this was part of the motivation for defining it.
[2] It only supports 32-bit memory addressing,[3] so it requires an IOMMU or a computationally expensive bounce buffer to work with a 64-bit operating system.
[2] It only supports 32-bit memory addressing,[4] so it requires an IOMMU or a computationally expensive bounce buffer to work with a 64-bit operating system.
The OHCI driver provides low- and full-speed functions for USB ports of all other motherboard chipset vendors' integrated USB host controllers or discrete host controllers attached to the computer's expansion bus.
For instance, on Linux, VHCI controllers are used to expose USB devices from other machines, attached using the USB/IP protocol.
It makes operating system to manage USB4 Host Route for USB, DisplayPort, PCI Express, Thunderbolt or Host-to-Host Communication.