summaryrefslogtreecommitdiff
path: root/sys/arch/i386/pci
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2002-04-24 23:02:21 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2002-04-24 23:02:21 +0000
commit3a6bb3eaf39f0784a65faef1294067d42bb91693 (patch)
treec2eab5524b7357b0c60de3f2f5c59d770713ff90 /sys/arch/i386/pci
parent2d5328c670dc233368567e1794122bbda3b36d47 (diff)
be much more picky about which RCC products are multi-bridges
Diffstat (limited to 'sys/arch/i386/pci')
-rw-r--r--sys/arch/i386/pci/pchb.c39
1 files changed, 22 insertions, 17 deletions
diff --git a/sys/arch/i386/pci/pchb.c b/sys/arch/i386/pci/pchb.c
index 8c30e8e1cf2..aaa60e8c30b 100644
--- a/sys/arch/i386/pci/pchb.c
+++ b/sys/arch/i386/pci/pchb.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: pchb.c,v 1.29 2002/03/14 01:26:33 millert Exp $ */
+/* $OpenBSD: pchb.c,v 1.30 2002/04/24 23:02:20 deraadt Exp $ */
/* $NetBSD: pchb.c,v 1.6 1997/06/06 23:29:16 thorpej Exp $ */
/*
@@ -166,23 +166,28 @@ pchbattach(parent, self, aux)
switch (PCI_VENDOR(pa->pa_id)) {
case PCI_VENDOR_RCC:
- bdnum = pci_conf_read(pa->pa_pc, pa->pa_tag, 0x44);
-
- if (bdnum == 0)
+ switch (PCI_PRODUCT(pa->pa_id)) {
+ case PCI_PRODUCT_RCC_CNB20HE:
+ case PCI_PRODUCT_RCC_CNB20LE:
+ case PCI_PRODUCT_RCC_CMIC_HE:
+ bdnum = pci_conf_read(pa->pa_pc, pa->pa_tag, 0x44);
+ if (bdnum == 0)
+ break;
+ /*
+ * This host bridge has a second PCI bus.
+ * Configure it.
+ */
+ neednl = 0;
+ pba.pba_busname = "pci";
+ pba.pba_iot = pa->pa_iot;
+ pba.pba_memt = pa->pa_memt;
+ pba.pba_dmat = pa->pa_dmat;
+ pba.pba_bus = bdnum;
+ pba.pba_pc = pa->pa_pc;
+ printf("\n");
+ config_found(self, &pba, pchb_print);
break;
- /*
- * This host bridge has a second PCI bus.
- * Configure it.
- */
- neednl = 0;
- pba.pba_busname = "pci";
- pba.pba_iot = pa->pa_iot;
- pba.pba_memt = pa->pa_memt;
- pba.pba_dmat = pa->pa_dmat;
- pba.pba_bus = bdnum;
- pba.pba_pc = pa->pa_pc;
- printf("\n");
- config_found(self, &pba, pchb_print);
+ }
break;
case PCI_VENDOR_INTEL:
switch (PCI_PRODUCT(pa->pa_id)) {