summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2005-03-25 14:18:50 +0000
committerjhb <jhb@FreeBSD.org>2005-03-25 14:18:50 +0000
commit4057d2fbc5d5754e036929e3f1a4d4357b823366 (patch)
tree1d1f2e8e05c9221f48b0b13d5667256ef4262d05 /sys
parent06e202e4aaf03adbdbf2eb46c84ff41cf3157db5 (diff)
downloadFreeBSD-src-4057d2fbc5d5754e036929e3f1a4d4357b823366.zip
FreeBSD-src-4057d2fbc5d5754e036929e3f1a4d4357b823366.tar.gz
Add code to read the primary PCI bus number out of the Compaq/HP 6010
hotplug Host to PCI bridge. This is only needed for the non-ACPI case as the BIOS includes a proper _BBN method in ACPI.
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/pci/pci_pci.c5
-rw-r--r--sys/i386/pci/pci_bus.c6
2 files changed, 11 insertions, 0 deletions
diff --git a/sys/dev/pci/pci_pci.c b/sys/dev/pci/pci_pci.c
index c246542..130205c 100644
--- a/sys/dev/pci/pci_pci.c
+++ b/sys/dev/pci/pci_pci.c
@@ -562,6 +562,11 @@ host_pcib_get_busno(pci_read_config_fn read_config, int bus, int slot, int func,
case 0x03021014:
*busnum = read_config(bus, slot, func, 0x44, 1);
break;
+
+ /* Compaq/HP -- vendor 0x0e11 */
+ case 0x60100e11:
+ *busnum = read_config(bus, slot, func, 0xc8, 1);
+ break;
default:
/* Don't know how to read bus number. */
return 0;
diff --git a/sys/i386/pci/pci_bus.c b/sys/i386/pci/pci_bus.c
index 247e823..8721d4a 100644
--- a/sys/i386/pci/pci_bus.c
+++ b/sys/i386/pci/pci_bus.c
@@ -276,6 +276,12 @@ legacy_pcib_is_host_bridge(int bus, int slot, int func,
*busnum = legacy_pcib_read_config(0, bus, slot, func, 0x44, 1);
break;
+ /* Compaq/HP -- vendor 0x0e11 */
+ case 0x60100e11:
+ s = "Compaq/HP Model 6010 HotPlug PCI Bridge";
+ *busnum = legacy_pcib_read_config(0, bus, slot, func, 0xc8, 1);
+ break;
+
/* Integrated Micro Solutions -- vendor 0x10e0 */
case 0x884910e0:
s = "Integrated Micro Solutions VL Bridge";
OpenPOWER on IntegriCloud