diff options
author | imp <imp@FreeBSD.org> | 2004-01-11 06:52:31 +0000 |
---|---|---|
committer | imp <imp@FreeBSD.org> | 2004-01-11 06:52:31 +0000 |
commit | bf3ace5acaa8f607b40f3c34044ebb974a8de294 (patch) | |
tree | e3cb460b05334390a453e604741ee398c13fc4ae /sys/dev/pci/pcib_private.h | |
parent | 6d7e46b26052df070fb25217d8bd904c80a0740a (diff) | |
download | FreeBSD-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.h | 2 |
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 */ |