summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2011-03-31 13:22:12 +0000
committerjhb <jhb@FreeBSD.org>2011-03-31 13:22:12 +0000
commit94327c73822769aa17f717f6edbf6e54159cc288 (patch)
tree5ec486ae00da6858ccad26ac65bad2335c908c81 /sys/kern
parent9f3325218f52c56e8f7bb7ab7fff2aa7c2363d63 (diff)
downloadFreeBSD-src-94327c73822769aa17f717f6edbf6e54159cc288.zip
FreeBSD-src-94327c73822769aa17f717f6edbf6e54159cc288.tar.gz
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'. Psuedo-resources that are not BARs (such as the implicit I/O port resources for master/slave ATA controllers) will no longer be listed as BARs in 'pciconf -lb'. During resume, BARs are restored from their new saved state instead of having the raw registers saved and restored across resume. This also fixes restoring BARs at unusual loactions if said BAR has been allocated by a driver. 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: jkim
Diffstat (limited to 'sys/kern')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud