[Midnightbsd-cvs] src [8915] trunk/sys/dev/pci/pci.c: Blacklist the bridge used by VMWare for PCIe devices.
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Mon Sep 26 18:50:23 EDT 2016
Revision: 8915
http://svnweb.midnightbsd.org/src/?rev=8915
Author: laffer1
Date: 2016-09-26 18:50:22 -0400 (Mon, 26 Sep 2016)
Log Message:
-----------
Blacklist the bridge used by VMWare for PCIe devices. MSI-X does not work with ESXi 5.1 for intel 82576 due to a bug in the hypervisor.
Modified Paths:
--------------
trunk/sys/dev/pci/pci.c
Modified: trunk/sys/dev/pci/pci.c
===================================================================
--- trunk/sys/dev/pci/pci.c 2016-09-26 22:48:04 UTC (rev 8914)
+++ trunk/sys/dev/pci/pci.c 2016-09-26 22:50:22 UTC (rev 8915)
@@ -243,10 +243,11 @@
{ 0x74501022, PCI_QUIRK_DISABLE_MSI, 0, 0 },
/*
- * MSI-X doesn't work with at least LSI SAS1068E passed through by
- * VMware.
+ * MSI-X allocation doesn't work properly for devices passed through
+ * by VMware up to at least ESXi 5.1.
*/
- { 0x079015ad, PCI_QUIRK_DISABLE_MSI, 0, 0 },
+ { 0x079015ad, PCI_QUIRK_DISABLE_MSI, 0, 0 }, /* PCI/PCI-X */
+ { 0x07a015ad, PCI_QUIRK_DISABLE_MSI, 0, 0 }, /* PCIe */
/*
* Some virtualization environments emulate an older chipset
@@ -3572,11 +3573,11 @@
return (retval);
}
-static struct
+static const struct
{
- int class;
- int subclass;
- char *desc;
+ int class;
+ int subclass;
+ const char *desc;
} pci_nomatch_tab[] = {
{PCIC_OLD, -1, "old"},
{PCIC_OLD, PCIS_OLD_NONVGA, "non-VGA display device"},
@@ -3668,8 +3669,9 @@
void
pci_probe_nomatch(device_t dev, device_t child)
{
- int i;
- char *cp, *scp, *device;
+ int i;
+ const char *cp, *scp;
+ char *device;
/*
* Look for a listing for this device in a loaded device database.
@@ -3702,7 +3704,6 @@
printf(" at device %d.%d (no driver attached)\n",
pci_get_slot(child), pci_get_function(child));
pci_cfg_save(child, device_get_ivars(child), 1);
- return;
}
/*
More information about the Midnightbsd-cvs
mailing list