I'm doing exactly this with no significant problem. The way I handle it is that I've got a script that binds the specific card to vfio-pci at runtime, and I call that as a part of my startup script for the VM.
/usr/local/bin/vfio-bind #!/bin/bash modprobe vfio-pci for dev in "$@"; do vendor=$(cat /sys/bus/pci/devices/$dev/vendor) device=$(cat /sys/bus/pci/devices/$dev/device) if [ -e /sys/bus/pci/devices/$dev/driver ]; then echo $dev > /sys/bus/pci/devices/$dev/driver/unbind fi echo $vendor $device > /sys/bus/pci/drivers/vfio-pci/new_id done Then I just add "-device vfio-pci,host=<address>" to the args to qemu. Works like a charm. The script is called with the format "0000:06:00.0", the args to qemu are "06:00.0". Your address may vary, of course. On Tue, Oct 25, 2016 at 6:11 AM, Andrei Grigore <andrei....@gmail.com> wrote: > Hi, > > Does anyone know of an easy way to pass through a USB PCI controller in > QEMU w/o libvirt? Since libvirt automatically binds the controller to VFIO, > without it I get VFIO not found error messages. > > I am getting slightly better performance with a QEMU script rather than > using virt-manager. I cannot bind them on boot since I have the same id for > all USBs. > > Thanks! > > _______________________________________________ > vfio-users mailing list > vfio-users@redhat.com > https://www.redhat.com/mailman/listinfo/vfio-users > >
_______________________________________________ vfio-users mailing list vfio-users@redhat.com https://www.redhat.com/mailman/listinfo/vfio-users