Re: [PATCH v5 0/4] PCI MCFG consolidation and APEI resource filtering

From: Bjorn Helgaas
Date: Thu Nov 04 2021 - 11:01:01 EST


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
>