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!