KVM guest with SR-IOV virtual function won't start, error "IO MMU found"

Solution In Progress - Updated -

Issue

  • I am trying to get SR-IOV working with KVM on RH6.4.
    I have SR-IOV enabled FW/SW on my NIC's.
    I have intel_iommu=on set on grub.conf and dmesg shows Intel-IOMMU is enabled
Nov  6 09:17:51 hostname kernel: Intel-IOMMU: enabled

This is the section of XML pieces I'm adding to the VM guest.

<interface type='hostdev' managed='yes'>
 <source>
 <address type='pci' domain='0' bus='0x1' slot='0x0' function='0x1'/>
 </source>
</interface>

However, as soon as I try to start the VM, KVM/libvirt still complains that "I/O MMU" is not found, below is guest log from /var/log/libvirt/qemu

2013-11-06 16:53:46.649+0000: starting up
LC_ALL=C PATH=/sbin:/usr/sbin:/bin:/usr/bin /usr/libexec/qemu-kvm -name guestname
Domain id=6 is tainted: high-privileges
char device redirected to /dev/pts/0
No IOMMU found.  Unable to assign device "hostdev0"
qemu-kvm: -device pci-assign,configfd=27,host=01:00.1,id=hostdev0,bus=pci.0,addd
2013-11-06 16:53:47.212+0000: shutting down

Environment

  • Red Hat Enterprise Linux 6.4
  • KVM virtualization
  • SR-IOV-capable network interface (Mellanox Technologies MT27500 Family [ConnectX-3])

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In