Bjorn Helgaas wrote: > These patches convert the table of MMCONFIG regions to a list, to make it > easier to support addition and removal of regions at run-time. > > MMCONFIG management will need to be more dynamic to support _CBA (a PCI host > bridge ACPI method that reports the MMCONFIG address), because we will discover > _CBA when we claim the host bridge, not in the current pci_arch_init() path. > > The PCI Firmware Spec requires BIOS to use _CBA, not MCFG, to report MMCONFIG > regions of hot-pluggable host bridges. Therefore, if the hardware and firmware > support host bridge hotplug, we will encounter _CBA even if Linux itself > doesn't support hotplug. > > I changed some printk and resource name text, but otherwise, except for any > implementation errors I made, this series should have no functional change. > > --- > > Bjorn Helgaas (18): > x86/PCI: MMCONFIG: remove unused definitions > x86/PCI: MMCONFIG: count MCFG structures with local variable > x86/PCI: MMCONFIG: step through MCFG table, not pci_mmcfg_config[] > x86/PCI: MMCONFIG: centralize MCFG structure management > x86/PCI: MMCONFIG: simplify tests for empty pci_mmcfg_config table > x86/PCI: MMCONFIG: reject MMCONFIG apertures at address zero > x86/PCI: MMCONFIG: add PCI_MMCFG_BUS_OFFSET() to factor common expression > x86/PCI: MMCONFIG: use a private structure rather than the ACPI MCFG one > x86/PCI: MMCONFIG: rename pci_mmcfg_region structure members > x86/PCI: MMCONFIG: use pointer to simplify pci_mmcfg_config[] structure access > x86/PCI: MMCONFIG: add resource to struct pci_mmcfg_region > x86/PCI: MMCONFIG: trivial is_mmconf_reserved() interface simplification > x86/PCI: MMCONFIG: add virtual address to struct pci_mmcfg_region > x86/PCI: MMCONFIG: remove typeof so we can use a list > x86/PCI: MMCONFIG: manage pci_mmcfg_region as a list, not a table > x86/PCI: MMCONFIG: add pci_mmconfig_remove() to remove MMCONFIG region > x86/PCI: MMCONFIG: clean up printks > x86/PCI: MMCONFIG: add lookup function > > > arch/x86/include/asm/pci_x86.h | 20 ++ > arch/x86/pci/mmconfig-shared.c | 328 +++++++++++++++++++--------------------- > arch/x86/pci/mmconfig_32.c | 16 -- > arch/x86/pci/mmconfig_64.c | 88 +++-------- > 4 files changed, 198 insertions(+), 254 deletions(-) > good to me. except minor error res.name need to updated for some range in 11/18: add resource to struct pci_mmcfg_region thought could have additional patch to address that. YH -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html