]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC 261790:
authorjhb <jhb@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 1 Apr 2015 21:48:54 +0000 (21:48 +0000)
committerjhb <jhb@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 1 Apr 2015 21:48:54 +0000 (21:48 +0000)
commit8dcaaa472d7035890279dc3151769670273f3653
tree0444ef99cffa06c0c3a81e7fa07483f56507ff35
parent6228a978098a99e00af8b5a96a4e96fe88f51e01
MFC 261790:
Add support for managing PCI bus numbers.  As with BARs and PCI-PCI bridge
I/O windows, the default is to preserve the firmware-assigned resources.
PCI bus numbers are only managed if NEW_PCIB is enabled and the architecture
defines a PCI_RES_BUS resource type.
- Add a helper API to create top-level PCI bus resource managers for each
  PCI domain/segment.  Host-PCI bridge drivers use this API to allocate
  bus numbers from their associated domain.
- Change the PCI bus and CardBus drivers to allocate a bus resource for
  their bus number from the parent PCI bridge device.
- Change the PCI-PCI and PCI-CardBus bridge drivers to allocate the
  full range of bus numbers from secbus to subbus from their parent bridge.
  The drivers also always program their primary bus register.  The bridge
  drivers also support growing their bus range by extending the bus resource
  and updating subbus to match the larger range.
- Add support for managing PCI bus resources to the Host-PCI bridge drivers
  used for amd64 and i386 (acpi_pcib, mptable_pcib, legacy_pcib, and qpi_pcib).
- Define a PCI_RES_BUS resource type for amd64 and i386.

PR: 197076

git-svn-id: svn://svn.freebsd.org/base/stable/10@280970 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
20 files changed:
sys/amd64/include/resource.h
sys/dev/acpica/acpi_pcib_acpi.c
sys/dev/acpica/acpi_pcib_pci.c
sys/dev/cardbus/cardbus.c
sys/dev/cardbus/cardbusvar.h
sys/dev/pccbb/pccbb.c
sys/dev/pccbb/pccbb_isa.c
sys/dev/pccbb/pccbb_pci.c
sys/dev/pccbb/pccbbvar.h
sys/dev/pci/pci.c
sys/dev/pci/pci_pci.c
sys/dev/pci/pci_private.h
sys/dev/pci/pci_subr.c
sys/dev/pci/pcib_private.h
sys/i386/include/resource.h
sys/sparc64/pci/apb.c
sys/x86/include/legacyvar.h
sys/x86/pci/pci_bus.c
sys/x86/pci/qpi.c
sys/x86/x86/mptable_pci.c