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 /sys/dev/pci | |
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.
Diffstat (limited to 'sys/dev/pci')
-rw-r--r-- | sys/dev/pci/pci_pci.c | 5 |
1 files changed, 5 insertions, 0 deletions
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", |