]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Respect the BIOS/firmware's notion of acceptable address ranges for PCI
authorjhb <jhb@FreeBSD.org>
Fri, 15 Jul 2011 21:08:58 +0000 (21:08 +0000)
committerjhb <jhb@FreeBSD.org>
Fri, 15 Jul 2011 21:08:58 +0000 (21:08 +0000)
commitb75d5a0ef9a633d11ad36f4e2e0cc915b287d36c
treecb42b98ebf988021855125779898a415b8209443
parentd3eb43cf7d9826d90122c3bc76f9284edf7eae8d
Respect the BIOS/firmware's notion of acceptable address ranges for PCI
resource allocation on x86 platforms:
- Add a new helper API that Host-PCI bridge drivers can use to restrict
  resource allocation requests to a set of address ranges for different
  resource types.
- For the ACPI Host-PCI bridge driver, use Producer address range resources
  in _CRS to enumerate valid address ranges for a given Host-PCI bridge.
  This can be disabled by including "hostres" in the debug.acpi.disabled
  tunable.
- For the MPTable Host-PCI bridge driver, use entries in the extended
  MPTable to determine the valid address ranges for a given Host-PCI
  bridge.  This required adding code to parse extended table entries.

Similar to the new PCI-PCI bridge driver, these changes are only enabled
if the NEW_PCIB kernel option is enabled (which is enabled by default on
amd64 and i386).

Approved by: re (kib)
sys/dev/acpica/acpi_pcib_acpi.c
sys/dev/pci/pci_pci.c
sys/dev/pci/pci_subr.c
sys/dev/pci/pcib_private.h
sys/sys/bus.h
sys/x86/include/mptable.h
sys/x86/x86/mptable.c
sys/x86/x86/mptable_pci.c