[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