[vfio-users] Passthrough USB PCI Controller
Jayme Howard
g.prime at gmail.com
Tue Oct 25 14:30:52 UTC 2016
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.grg at 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 at redhat.com
> https://www.redhat.com/mailman/listinfo/vfio-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20161025/51fcdc96/attachment.htm>
More information about the vfio-users
mailing list