Dell currently has 3 open tickets regarding PCI passthrough:
330009: Guest hangs after enabling pci passthrough on PE T610
330004: Unable to assign device to the guest on PE R905
329951: Unable to configure the device from guest after pass-through from host
I've been going crazy trying to make PCI passthrough work, and finally got through to someone in #virt who can explain why I was only successful in paravirt guests. I've learned today in conversation with Don Dutile (ddd in #virt) and Russ that there are strict limitations with PCI-passthrough in its first iteration in RHEL5.4. This explains the ITs that Dell has opened. They cannot do PCI passthrough due to these limitations:
- IOMMU (AMD) or VT-d (Intel) is a requirement for PCI-Passthrough on fullvirt Xen or KVM. It isn't a requirement for virtualization itself, just for the PCI-passthrough feature.
- IOMMU is not yet supported by us on any shipping AMD platform. Support will be delivered in the SR5690 chipset, due out in September along with AMD's latest processor line, the Magny-Cours. Even though some Broadcom chipset-based Dell systems have a partial implementation of IOMMU (the PE R905 with Broadcom HT-2100 chipset is an example), we do not support that function in RHEL5.4.
- IOMMU has security issues: A guest which has access to a non-virtualized PCI device via PCI passthrough also has the potential to access the DMA address space of dom0, which is a potential security concern. This is not the cause of any of the Dell issues, it's just an interesting bit of data.
- The only NICs supported for PCI-passthrough thus far are a limited subset of Intel NICs. Broadcom NICs are not yet supported. Related to this, If you try to use the required intel_iommu=1 kernel boot argument to enable PCI passthrough, it will cause the system to lock up if certain Broadcom cards are present (https://bugzilla.redhat.com/show_bug.cgi?id=517944)
Dell understands that there is no way that these issues can possibly be fixed in time for 5.4. However, they would like us to publicly provide official statements for all three of these issues to mitigate customer support calls. Can we get these Issue Trackers escalated engineering so we can get these statements from engineering please?
PCI Pass-through, which is PCI Device Assignment on KVM, is documented in the RHEL5 Virtualization document.