diff options
author | imp <imp@FreeBSD.org> | 2002-01-15 06:46:59 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2002-01-15 06:46:59 +0000 |
commit | ec363a654937df9a2fd6fc5b9acdd5a94864a2ad (patch) | |
tree | e0c3be1a3ae151e09022be0de3e0f012e603753f | |
parent | 68ef2c33964f060544c2228aef4b62bd79b37666 (diff) | |
download | FreeBSD-src-ec363a654937df9a2fd6fc5b9acdd5a94864a2ad.zip FreeBSD-src-ec363a654937df9a2fd6fc5b9acdd5a94864a2ad.tar.gz |
Make PCI_ALLOW_UNSUPPORTED_IO_RANGE an option until the ISA address
problem is fixed at the bridge level. This is needed for some newer
laptops that have the cardbus bridge not on pci0.
-rw-r--r-- | sys/conf/options | 1 | ||||
-rw-r--r-- | sys/dev/pci/pci_pci.c | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/sys/conf/options b/sys/conf/options index 066911f..ef111b5 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -417,6 +417,7 @@ MSGBUF_SIZE opt_msgbuf.h # PCI related options PCI_QUIET opt_pci.h PCI_ENABLE_IO_MODES opt_pci.h +PCI_ALLOW_UNSUPPORTED_IO_RANGE opt_pci.h # NFS options NFS_MINATTRTIMO opt_nfs.h diff --git a/sys/dev/pci/pci_pci.c b/sys/dev/pci/pci_pci.c index 0a4be2d..166f490 100644 --- a/sys/dev/pci/pci_pci.c +++ b/sys/dev/pci/pci_pci.c @@ -45,6 +45,7 @@ #include <pci/pcireg.h> #include "pcib_if.h" +#include "opt_pci.h" /* * Bridge-specific data. @@ -281,6 +282,10 @@ pcib_alloc_resource(device_t dev, device_t child, int type, int *rid, */ switch (type) { case SYS_RES_IOPORT: + if (start < sc->iobase) + start = sc->iobase; + if (end > sc->iolimit && start < end) + end = sc->iolimit; if ((start < sc->iobase) || (end > sc->iolimit)) { device_printf(dev, "device %s%d requested unsupported I/O range 0x%lx-0x%lx" " (decoding 0x%x-0x%x)\n", |