[vfio-users] VFIO PCI passthrough problems booting VM

Phill Edwards philledwards at gmail.com
Thu Sep 17 11:57:00 UTC 2015


On Sun, Sep 13, 2015 at 9:08 PM, Phill Edwards <philledwards at gmail.com>
wrote:

> The short answer is that you cannot do what you want to do and it's a
>> hardware limitation of conventional PCI that prevents it.  The QEMU
>> invocation is telling you how to fix it:
>>
>> "vfio: error, group 11 is not viable, please ensure all devices within
>> the iommu_group are bound to their vfio bus driver."
>>
>> and the blog post about IOMMU groups[1], that I already pointed you to
>> in the blog comments, tells you why.  So, you can either choose to bind
>> your NICs at 05:00.0 and 05:00.1 to pci-stub or vfio-pci or replace it
>> with a PCIe NIC or replace your DVB-T card with a PCIe version or maybe
>> get a PCIe-to-PCI adapter and move one of the cards somewhere else.
>>
>> Conventional PCI does not include a requester ID in bus transactions.
>> The requester ID is what the IOMMU uses to lookup the translations for a
>> device.  In this case the PCIe-to-PCI bridge (00:1e.0) adds the
>> requester ID, which means that the IOMMU cannot differentiate between
>> the devices on bus 05.  The ACS override patches will not help you here.
>> The old pci-assign driver will let you assign these devices separately,
>> but it will fail spectacularly as your NICs suddenly get their DMA
>> mappings replaced with the I/O virtual address space of the VM.  Ok, it
>> won't be that spectacular, but it won't work.
>>
>> So to repeat, in the existing configuration, your only option is to give
>> up use of the NICs at 05:00.x by binding them to either pci-stub or
>> vfio-pci.
>>
>>
>
Thanks for this info. When you say "*give up* use of the NICs at 05:00.x by
binding them to either pci-stub or vfio-pci" does that mean that the NICs
won't work any more? If they will still work and it will allow me to have
the DVB-T card in an IOMMU group of it's own that sounds like a good
solution. Does it matter whether I bind them to pci-stub or vfio-pci - are
there implications to binding to one rather than the other?

Also, do I achieve the binding by adding something like this to
GRUB_CMDLINE_LINUX?
pci-stub.ids=0e11:00db

Sorry to ask all these questions but I'm quite out of my depth here.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20150917/c7bd27f3/attachment.htm>


More information about the vfio-users mailing list