On Thu, Nov 04, 2021 at 06:57:15PM +0800, Xuesong Chen wrote: > The issue of commit d91525eb8ee6 ("ACPI, EINJ: Enhance error injection tolerance > level") on x86 is also happened on our own ARM64 platform. We sent a patch[1] > trying to fix this issue in an arch-specific way as x86 does at first, but > according to the suggestion from Lorenzo Pieralisi and Catalin Marinas, we can > consolidate the PCI MCFG part then fix it in a more common way, that's why this > patch series comes. > > [1] https://marc.info/?l=linux-arm-kernel&m=163108478627166&w=2 Thanks. I see this and will look at it after getting the v5.16 changes merged. > --- > Change from v4 to v5: > - Fix the warning: no previous prototype for 'remove_quirk_mcfg_res' warning > reported by the kernel test robot. > > Change from v3 to v4: > - Add a new patch (patch #3) to address the quirk ECAM access issue. Because > the normal ECAM config space can be accessed in a lockless way, so we don't > need the mutual exclusion with the EINJ action. But those quirks maybe break > this rule and corrupt the configuration access, reserve its MCFG address > regions in this case to avoid that happens. > > - Add another patch (patch #4) to log the PCI MCFG entry parse message per > the suggestion from Bjorn Helgaas. The output on ARM64 as: > ACPI: MCFG entry for domain 0000 [bus 00-0f] at [mem 0x50000000-0x50ffffff] (base 0x50000000) > > - Commit message updated with more details of patch #2 > > Change from v2 to v3: > - Address the comments of Lorenzo Pieralisi about the CONFIG_PCI > dependence issue in APEI module (patch #2) > > Change from v1 to v2: > - Fix the "undefined reference to `pci_mmcfg_list'" build error in case > of PCI_CONFIG=n, reported by the kernel test robot > > Xuesong Chen (4): > PCI: MCFG: Consolidate the separate PCI MCFG table entry list > ACPI: APEI: Filter the PCI MCFG address with an arch-agnostic method > ACPI: APEI: Reserve the MCFG address for quirk ECAM implementation > PCI: MCFG: Add the MCFG entry parse log message > > arch/x86/include/asm/pci_x86.h | 17 +---------- > arch/x86/pci/mmconfig-shared.c | 30 ------------------- > drivers/acpi/apei/apei-base.c | 68 ++++++++++++++++++++++++++++++++---------- > drivers/acpi/pci_mcfg.c | 46 +++++++++++++++------------- > drivers/pci/pci.c | 2 ++ > drivers/pci/quirks.c | 2 ++ > include/linux/pci.h | 18 +++++++++++ > 7 files changed, 101 insertions(+), 82 deletions(-) > > -- > 2.9.5 >