[Bug 203874] MSI/MSI-X interrupts don't work in VMware virtual machines

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Oct 19 16:32:07 UTC 2015


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203874

            Bug ID: 203874
           Summary: MSI/MSI-X interrupts don't work in VMware virtual
                    machines
           Product: Base System
           Version: 11.0-CURRENT
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: kern
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: bhavesh at vmware.com

Any PCI* device/driver that relies on MSI or MSI-X interrupts doesn't work in a
VMware (ESXi hypervisor) virtual machine.

This is because of a quirk workaround that exists in the FreeBSD kernel that
fails requests for MSI or MSI-X interrupt vectors when it detects that the PCIe
Root Port or PCI bridge device is a VMware device (PCI Vendor ID 15adh, Device
ID 0790h or 07a0h)

The comment in the code suggests MSI/MSI-X didn't work in older versions of
ESXi:

sys/dev/pci/pci.c:
        /*
         * MSI-X allocation doesn't work properly for devices passed through
         * by VMware up to at least ESXi 5.1.
         */

I don't think this is true any more. Verified this by booting with:

hw.pci.honor_msi_blacklist=0

in /boot/loader.conf

Everything seems to be working fine with various devices and drivers
(passthrough ixgbe/ixgbevf, vmxnet3, etc.) with this boot workaround in a
FreeBSD 10.2 VM on ESXi 6.0.

I'll propose a trivial patch to remove this quirk workaround.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list