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

From: Sun, Yunying
Date: Thu Jan 12 2023 - 00:51:15 EST


With this updated patches, perf uncore works fine on SPR(tested on both DNP and MCC).

Tested-by: Yunying Sun <yunying.sun@xxxxxxxxx>

-----Original Message-----
From: Bjorn Helgaas <helgaas@xxxxxxxxxx>
Sent: Wednesday, 11 January, 2023 02:03
To: linux-pci@xxxxxxxxxxxxxxx
Cc: Williams, Dan J <dan.j.williams@xxxxxxxxx>; Kan Liang <kan.liang@xxxxxxxxxxxxxxx>; Luck, Tony <tony.luck@xxxxxxxxx>; Box, David E <david.e.box@xxxxxxxxx>; Sun, Yunying <yunying.sun@xxxxxxxxx>; Jiang, Dave <dave.jiang@xxxxxxxxx>; Mika Westerberg <mika.westerberg@xxxxxxxxxxxxxxx>; Cabiddu, Giovanni <giovanni.cabiddu@xxxxxxxxx>; Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>; Hans de Goede <hdegoede@xxxxxxxxxx>; Florent DELAHAYE <linuxkernelml@xxxxxxxxx>; Konrad J Hambrick <kjhambrick@xxxxxxxxx>; Matt Hansen <2lprbe78@xxxxxxxx>; Nicholas Johnson <nicholas.johnson-opensource@xxxxxxxxxxxxxx>; Benoit Grégoire <benoitg@xxxxxxxx>; Werner Sembach <wse@xxxxxxxxxxxxxxxxxxx>; mumblingdrunkard@xxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
Subject: [PATCH 0/2] PCI: Fix extended config space regression

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(-)

--
2.25.1