Re: [PATCH 0/2] PCI: Fix extended config space regression

From: Bjorn Helgaas
Date: Wed Jan 11 2023 - 17:31:12 EST


On Tue, Jan 10, 2023 at 12:02:41PM -0600, Bjorn Helgaas wrote:
> From: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
>
> 07eab0901ede ("efi/x86: Remove EfiMemoryMappedIO from E820 map") appeared
> in v6.2-rc1 and broke extended config space on several machines.
>
> This broke drivers that use things in extended config space, e.g., perf,
> VSEC telemetry, EDAC, QAT, etc.
>
> This happened because mmconfig-shared.c checks to see that ECAM space is
> reserved in E820 or ACPI motherboard resources. If it's not, it assumes
> ECAM doesn't work. 07eab0901ede removed some E820 entries, so it looked
> like ECAM was no longer reserved, so we stopped using it.
>
> The machines where this broke don't reserve the ECAM in ACPI PNP0C02
> devices (which seems to be what the PCI Firmware spec requires), but they
> do mention it in the EFI memory map as EfiMemoryMappedIO.
>
> Bjorn Helgaas (2):
> x86/pci: Simplify is_mmconf_reserved() messages
> x86/pci: Treat EfiMemoryMappedIO as reservation of ECAM space
>
> arch/x86/pci/mmconfig-shared.c | 44 +++++++++++++++++++++++++++++-----
> 1 file changed, 38 insertions(+), 6 deletions(-)

Applied to for-linus for v6.2. Sorry for the breakage and thank you
very much for the debugging and testing help!