I am attempting to attach PCIe devices in passthrough to my KVM domain. I
have two devices in one IOMMU group (#28):

03:00.0 PCI bridge: Texas Instruments XIO2001 PCI Express-to-PCI Bridge
04:00.0 Multimedia audio controller: Texas Instruments TMS320C6414
TMS320C6415 TMS320C6416

and lspci -n values:

03:00.0 0604: 104c:8240
04:00.0 0401: 104c:a106

Both of which are attached to my KVM domain with managed configuration.

I am running Ubuntu 14.04. I have:

   - Installed KVM, set up domains, ensured KVM and vfio-pci modules are
   loaded
   - Set intel_iommu=on on the kernel command line and verified it is
   enabled with dmesg
   - kvm-ok prints acceleration is all set, VT-d is supported on the chipset
   - Verified that the 03:00.0 device does not have a driver currently
   listed under ls -l /sys/bus/pci/devices/0000\:03\:00.0/ though it does
   have a firmware listed.

When attempting to start the VM I get:

virsh # start rivendell
error: Failed to start domain rivendell
error: Failed to bind PCI device '0000:03:00.0' to vfio-pci: No such device

and under syslog I get what I believe to be the PCIe EINVAL code:

Feb 23 19:46:46 tupac kernel: [  214.159625] vfio-pci: probe of
0000:03:00.0 failed with error -22

Trying to do this manually: I do this to bind the devices to vfio-pci:

# echo "104c a106" > /sys/bus/pci/drivers/vfio-pci/new_id
# echo "104c 8240" > /sys/bus/pci/drivers/vfio-pci/new_id

Then:

root@tupac:~# echo "0000:03:00.0" > /sys/bus/pci/drivers/vfio-pci/bind
bash: echo: write error: No such device

However, the multimedia controller appears AOK:

root@tupac:~# ls -l /sys/bus/pci/drivers/vfio-pci/
total 0
lrwxrwxrwx 1 root root    0 Feb 24 13:07 0000:04:00.0 ->
../../../../devices/pci0000:00/0000:00:02.2/0000:03:00.0/0000:04:00.0
--w------- 1 root root 4096 Feb 24 13:05 bind
lrwxrwxrwx 1 root root    0 Feb 24 13:07 module -> ../../../../module/vfio_pci
--w------- 1 root root 4096 Feb 24 13:15 new_id
--w------- 1 root root 4096 Feb 23 19:47 remove_id
--w------- 1 root root 4096 Feb 23 19:43 uevent
--w------- 1 root root 4096 Feb 24 13:07 unbind

03:00.0 (which is a PCIe to PCI adapter) is not showing up under vfio-pci's
devices. They're in the same IOMMU group so I don't think I can attach them
individually.

What is causing this? Is this some issue with the presence of the regular
old PCI bus in the system behind the adapter?

--Nick

Reply via email to