Expand the support for PCI-e memory mapped configuration space access.
authorAlexander Polakov <polachok@gmail.com>
Sun, 1 Nov 2009 20:16:28 +0000 (23:16 +0300)
committerAlexander Polakov <polachok@gmail.com>
Sun, 8 Nov 2009 21:59:38 +0000 (00:59 +0300)
commit4ea06a727073466f2954853daf292ec27bcfa836
treead01070ca35d0b9a7d532125a1d8ba9835028b87
parent5c7ffd75515b1761778ef9fbb9e1fa11212f5b4f
Expand the support for PCI-e memory mapped configuration space access.

This defaults to off and must be explicitly
enabled by setting the loader tunable hw.pci.mcfg=1.
- Add support for the Intel 915GM chipsets by reading the BAR.
- Add parsing of the ACPI MCFG table to discover memory mapped configuration
  access on modern machines.
- For config requests to busses not listed in ACPI's min/max valid buses,
  fall back to using type #1 configuration access instead.
- Add a workaround for some K8 chipsets that do not expose all devices on
  bus 0 via MCFG and fall back to type #1 for those devices instead.

Obtained-from: FreeBSD
sys/bus/pci/i386/pci_cfgreg.c
sys/bus/pci/i386/pci_cfgreg.h
sys/bus/pci/x86_64/pci_cfgreg.c
sys/bus/pci/x86_64/pci_cfgreg.h
sys/dev/acpica5/acpi.c