I require a driver to control a USB 3.0 xhci driver pci express device from userspace from userspace using the standard uio and libpci libraries. This driver must completely bypass the built in linux stack and access the device endpoints directly. Instructions for disconnecting the default linux driver from a single pci express xhci device must be included. The driver will enumerate attached devices and handle all connect/disconnect activities. At least one model of 8 port hub must be supported built in. Interrupts will be handled by the standard linux uio kernel driver. It should be possible to develop this project based on the FreeBSD usb code and modify it to use uio instead of FreeBSD kernel functions. The driver must be based on FreeBSD due to licensing constraints of the Linux GNU license.