>From the functionality point of view this series might be split into two logic parts: 1. Making MMCONFIG code arch-agnostic which allows all architectures to collect PCI config regions and used when necessary. 2. Using generic MMCONFIG code and introducing ACPI based PCI hostbridge initialization for ARM64 Patches has been built on top of: [Patch v7 0/7] Consolidate ACPI PCI root common code into ACPI core https://lkml.org/lkml/2015/10/14/31 Git branch can be found here: https://git.linaro.org/leg/acpi/acpi.git/shortlog/refs/heads/pci-acpi-upstream This has been tested on Cavium ThunderX 1 socket server. Any help in reviewing and testing is very appreciated. Hanjun Guo (1): XEN / PCI: Remove the dependence on arch x86 when PCI_MMCONFIG=y Tomasz Nowicki (10): x86, pci: Reorder logic of pci_mmconfig_insert() function x86, pci, acpi: Move arch-agnostic MMCONFIG (aka ECAM) and ACPI code out of arch/x86/ directory pci, acpi, mcfg: Provide generic implementation of MCFG code initialization. x86, pci: mmconfig_{32,64}.c code refactoring - remove code duplication. x86, pci, ecam: mmconfig_64.c becomes default implementation for ECAM driver. pci, acpi, mcfg: Provide default RAW ACPI PCI config space accessors. pci, acpi, ecam: Add flag to indicate whether ECAM region was hot added or not. x86, pci: Use previously added ECAM hot_added flag to remove ECAM regions. pci, acpi: Provide generic way to assign bus domain number. arm64, pci, acpi: Support for ACPI based PCI hostbridge init arch/arm64/Kconfig | 6 + arch/arm64/kernel/pci.c | 208 ++++++++++++++++++++++++++++++++-- arch/x86/Kconfig | 4 + arch/x86/include/asm/pci_x86.h | 28 +---- arch/x86/pci/acpi.c | 17 +-- arch/x86/pci/mmconfig-shared.c | 250 +++++++---------------------------------- arch/x86/pci/mmconfig_32.c | 11 +- arch/x86/pci/mmconfig_64.c | 67 +---------- arch/x86/pci/numachip.c | 1 + drivers/acpi/Makefile | 1 + drivers/acpi/mcfg.c | 104 +++++++++++++++++ drivers/acpi/pci_root.c | 2 +- drivers/pci/Kconfig | 10 ++ drivers/pci/Makefile | 5 + drivers/pci/ecam.c | 234 ++++++++++++++++++++++++++++++++++++++ drivers/pci/pci.c | 30 ++++- drivers/xen/pci.c | 7 +- include/linux/acpi.h | 2 + include/linux/ecam.h | 44 ++++++++ 19 files changed, 691 insertions(+), 340 deletions(-) create mode 100644 drivers/acpi/mcfg.c create mode 100644 drivers/pci/ecam.c create mode 100644 include/linux/ecam.h -- 1.9.1 -- 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