summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormsmith <msmith@FreeBSD.org>1998-12-19 02:58:29 +0000
committermsmith <msmith@FreeBSD.org>1998-12-19 02:58:29 +0000
commit434b0ce44240597b49085b60f3b96f87166796c3 (patch)
tree359d04b6904248c4ed51c532796f3eed5ccd8e38
parent61490236bcee0615867517e76eb92c1b20075f82 (diff)
downloadFreeBSD-src-434b0ce44240597b49085b60f3b96f87166796c3.zip
FreeBSD-src-434b0ce44240597b49085b60f3b96f87166796c3.tar.gz
Fix for bogus BIOS configuration of the 450NX PCI interface on some
systems (eg. Dell 6300). PR: kern/8928 Submitted by: David Malone <dwmalone@maths.tcd.ie>
-rw-r--r--sys/pci/pcisupport.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/sys/pci/pcisupport.c b/sys/pci/pcisupport.c
index f08155e..41531a6 100644
--- a/sys/pci/pcisupport.c
+++ b/sys/pci/pcisupport.c
@@ -1,6 +1,6 @@
-/**************************************************************************
+42/**************************************************************************
**
-** $Id: pcisupport.c,v 1.80 1998/12/14 09:46:31 n_hibma Exp $
+** $Id: pcisupport.c,v 1.81 1998/12/19 02:51:22 msmith Exp $
**
** Device driver for DEC/INTEL PCI chipsets.
**
@@ -42,6 +42,7 @@
*/
#include "opt_pci.h"
+#include "opt_smp.h"
#include <sys/param.h>
#include <sys/systm.h>
@@ -183,6 +184,17 @@ fixbushigh_450nx(pcici_t tag)
} else /* if (devmap & 0x4) */ { /* A0 */
subordinatebus = pci_cfgread(tag, 0xd1, 1);
}
+ if (subordinatebus == 255) {
+ printf("fixbushigh_450nx: bogus highest PCI bus %d",
+ subordinatebus);
+#ifdef NBUS
+ subordinatebus = NBUS - 2;
+#else
+ subordinatebus = 10;
+#endif
+ printf(", reduced to %d\n", subordinatebus);
+ }
+
if (bootverbose)
printf("fixbushigh_450nx: subordinatebus is %d\n",
subordinatebus);
OpenPOWER on IntegriCloud