summaryrefslogtreecommitdiff
path: root/sys/arch/amd64
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@cvs.openbsd.org>2011-06-02 19:59:01 +0000
committerMark Kettenis <kettenis@cvs.openbsd.org>2011-06-02 19:59:01 +0000
commitdd13f094616bf13250e69263cda861a803bd9840 (patch)
treef276a8606d85134ddd32ac453bec71eb75770498 /sys/arch/amd64
parent9833f44704a63014209f467af81f118011f0d3dd (diff)
In the land of VMWare you can have the latest 64-bit AMD multicore CPU
behind a prehistoric Intel host bridge. Disable MSI on these contortion.
Diffstat (limited to 'sys/arch/amd64')
-rw-r--r--sys/arch/amd64/pci/pci_machdep.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/sys/arch/amd64/pci/pci_machdep.c b/sys/arch/amd64/pci/pci_machdep.c
index 0bf936461f2..1e0d562e10e 100644
--- a/sys/arch/amd64/pci/pci_machdep.c
+++ b/sys/arch/amd64/pci/pci_machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pci_machdep.c,v 1.46 2011/05/30 19:27:40 kettenis Exp $ */
+/* $OpenBSD: pci_machdep.c,v 1.47 2011/06/02 19:59:00 kettenis Exp $ */
/* $NetBSD: pci_machdep.c,v 1.3 2003/05/07 21:33:58 fvdl Exp $ */
/*-
@@ -177,6 +177,19 @@ pci_attach_hook(struct device *parent, struct device *self,
switch (PCI_VENDOR(id)) {
case PCI_VENDOR_INTEL:
+ /*
+ * In the land of VMWare you can have the latest
+ * 64-bit AMD multicore CPU behind a prehistoric Intel
+ * host bridge. Give them what they deserve.
+ */
+ switch (PCI_PRODUCT(id)) {
+ case PCI_PRODUCT_INTEL_82443BX:
+ break;
+ default:
+ pba->pba_flags |= PCI_FLAGS_MSI_ENABLED;
+ break;
+ }
+ break;
case PCI_VENDOR_NVIDIA:
case PCI_VENDOR_AMD:
pba->pba_flags |= PCI_FLAGS_MSI_ENABLED;