diff options
author | wollman <wollman@FreeBSD.org> | 1996-01-27 20:14:32 +0000 |
---|---|---|
committer | wollman <wollman@FreeBSD.org> | 1996-01-27 20:14:32 +0000 |
commit | 3ebe21e07b409336abef42993b65440c8e74b01a (patch) | |
tree | c6783fd7162af3cb5a4fcb5f5100930c7222140a /sys/dev/pci | |
parent | 47d30a2ecff2baa1b2ec8275cdb0aa88e9c15263 (diff) | |
download | FreeBSD-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/dev/pci')
-rw-r--r-- | sys/dev/pci/pci.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/dev/pci/pci.c b/sys/dev/pci/pci.c index 4b40b43..9f2b0e0 100644 --- a/sys/dev/pci/pci.c +++ b/sys/dev/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)) { |