svn commit: r241378 - in stable/8/sys/dev: cardbus pci
jhb at freebsd.org
Tue Oct 9 19:04:24 UTC 2012
On Tuesday, October 09, 2012 2:45:08 pm John Baldwin wrote:
> Author: jhb
> Date: Tue Oct 9 18:45:08 2012
> New Revision: 241378
> URL: http://svn.freebsd.org/changeset/base/241378
> MFC 201279,201280,201286,213907,214146,220195,222753,223371,225515,235833:
> Various fixes to managing PCI BARs including proper support for managing
> PCI ROM BARs:
> - Teach the PCI bus driver to handle PCIR_BIOS BARs properly and remove
> special handling for the PCIR_BIOS decoding enable bit from the cardbus
> driver. The PCIR_BIOS BAR does include type bits like other BARs.
> Instead, it is always a 32-bit non-prefetchable memory BAR where the low
> bit is used as a flag to enable decoding.
> - Explicitly track the state of all known BARs for each PCI device. The PCI
> bus driver will now remember the size of a BAR obtained during the initial
> bus scan and use that size when doing lazy resource allocation rather than
> resizing the BAR. The bus driver will now also report unallocated BARs to
> userland for display by 'pciconf -lb'.
> - Add a constant for the offset of the ROM BIOS BAR in PCI-PCI bridges and
> properly handle ROM BIOS BARs in PCI-PCI bridges. The PCI bus now also
> properly handles the lack of a ROM BIOS BAR in a PCI-Cardbus bridge.
> Tested by: John Kozubik john kozubik com
In particular this fixes problems with the cardbus driver not being able to read
CIS information from cards that stored their CIS in a PCI ROM BAR.
More information about the svn-src-stable-8