summaryrefslogtreecommitdiffstats
path: root/sys/dev/pci/pcib_private.h
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2004-01-11 06:52:31 +0000
committerimp <imp@FreeBSD.org>2004-01-11 06:52:31 +0000
commitbf3ace5acaa8f607b40f3c34044ebb974a8de294 (patch)
treee3cb460b05334390a453e604741ee398c13fc4ae /sys/dev/pci/pcib_private.h
parent6d7e46b26052df070fb25217d8bd904c80a0740a (diff)
downloadFreeBSD-src-bf3ace5acaa8f607b40f3c34044ebb974a8de294.zip
FreeBSD-src-bf3ace5acaa8f607b40f3c34044ebb974a8de294.tar.gz
Add support for subtractive decoding bridges. These bridges pass all
signals to addresses to the child busses. Typically, ProgIf of 1 means a subtractive bridge. However, Intel has a whole lot of ones with a ProgIf of 80 that are also subtractive. We cope with these bridges too. This eliminates hw.pci.allow_unsupported_io_range because that had almost the same effect as these patches (almost means 'buggy'). Remove the bogus checks for ISA bus locations: these cycles aren't special and are only passed by transparent bridges. We allow any range to succeed. If the range is a superset of the range that's decoded, trim the resource to that range. Otherwise, pass the range unchanged. This will change the location that PC Card and CardBus cards are attached. This might bogusly cause some overlapping allocation that wasn't present before, but the overlapping fixes need to be in the pci level. There's also a few formatting changes here.
Diffstat (limited to 'sys/dev/pci/pcib_private.h')
-rw-r--r--sys/dev/pci/pcib_private.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/pci/pcib_private.h b/sys/dev/pci/pcib_private.h
index 870b306..a4acaab 100644
--- a/sys/dev/pci/pcib_private.h
+++ b/sys/dev/pci/pcib_private.h
@@ -44,6 +44,8 @@
struct pcib_softc
{
device_t dev;
+ uint32_t flags; /* flags */
+#define PCIB_SUBTRACTIVE 0x1
uint16_t command; /* command register */
uint8_t secbus; /* secondary bus number */
uint8_t subbus; /* subordinate bus number */
OpenPOWER on IntegriCloud