summaryrefslogtreecommitdiffstats
path: root/sys/pci/pci.c
diff options
context:
space:
mode:
authorwollman <wollman@FreeBSD.org>1996-01-27 20:14:32 +0000
committerwollman <wollman@FreeBSD.org>1996-01-27 20:14:32 +0000
commit3ebe21e07b409336abef42993b65440c8e74b01a (patch)
treec6783fd7162af3cb5a4fcb5f5100930c7222140a /sys/pci/pci.c
parent47d30a2ecff2baa1b2ec8275cdb0aa88e9c15263 (diff)
downloadFreeBSD-src-3ebe21e07b409336abef42993b65440c8e74b01a.zip
FreeBSD-src-3ebe21e07b409336abef42993b65440c8e74b01a.tar.gz
Decode configuration for the IDE part of the Triton chipset. This
includes a hack in the probe code: the 82371FB is a multifuction device, but doesn't properly set the configuration bit which indicates this. So, we just hard-wire all 82371FBs as multifunction devices. This does not actually make the bus-master IDE stuff work, although if anyone wants to work on that, I have the databooks that tell how to use it.
Diffstat (limited to 'sys/pci/pci.c')
-rw-r--r--sys/pci/pci.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/pci/pci.c b/sys/pci/pci.c
index 4b40b43..9f2b0e0 100644
--- a/sys/pci/pci.c
+++ b/sys/pci/pci.c
@@ -1,6 +1,6 @@
/**************************************************************************
**
-** $Id: pci.c,v 1.41 1996/01/23 21:47:16 se Exp $
+** $Id: pci.c,v 1.42 1996/01/25 18:31:58 se Exp $
**
** General subroutines for the PCI bus.
** pci_configure ()
@@ -429,6 +429,13 @@ pci_bus_config (void)
continue;
real_device:
+ /*
+ * Ack. The Triton PIIX doesn't correctly set
+ * the multifunction bit. Fake it.
+ */
+ if (type == 0x122e8086) {
+ maxfunc = 1;
+ }
if (func == 0 && (pcibus->pb_read (tag, PCI_HEADER_MISC)
& PCI_HEADER_MULTIFUNCTION)) {
OpenPOWER on IntegriCloud