Re: Bug report: the extended PCI config space is missed with 6.2-rc2

From: Bjorn Helgaas
Date: Tue Jan 10 2023 - 14:09:21 EST


On Tue, Jan 10, 2023 at 07:12:42PM +0100, Rafael J. Wysocki wrote:
> On Friday, January 6, 2023 11:04:49 PM CET Bjorn Helgaas wrote:
> ...
> > The below should work better.
> >
> > commit 696ac9286d3d ("x86/pci: Treat EfiMemoryMappedIO as reservation of ECAM space")
> > parent 1b929c02afd3
> > Author: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> > Date: Thu Jan 5 16:02:58 2023 -0600
> >
> > x86/pci: Treat EfiMemoryMappedIO as reservation of ECAM space
> >
> > Normally we reject ECAM space unless it is reported as reserved in the E820
> > table or via a PNP0C02 _CRS method (PCI Firmware, r3.3, sec 4.1.2). This
> > means extended config space (offsets 0x100-0xfff) may not be accessible.
> >
> > Some firmware doesn't report ECAM space via PNP0C02 _CRS methods, but does
> > mention it as an EfiMemoryMappedIO region via EFI GetMemoryMap(), which is
> > normally converted to an E820 entry by a bootloader or EFI stub.
> >
> > 07eab0901ede ("efi/x86: Remove EfiMemoryMappedIO from E820 map"), removes
> > E820 entries that correspond to EfiMemoryMappedIO regions because some
> > other firmware uses EfiMemoryMappedIO for PCI host bridge windows, and the
> > E820 entries prevent Linux from allocating BAR space for hot-added devices.
> >
> > Allow use of ECAM for extended config space when the region is covered by
> > an EfiMemoryMappedIO region, even if it's not included in E820 or PNP0C02
> > _CRS.
> >
> > Fixes: 07eab0901ede ("efi/x86: Remove EfiMemoryMappedIO from E820 map")
> > Link: https://lore.kernel.org/r/ac2693d8-8ba3-72e0-5b66-b3ae008d539d@xxxxxxxxxxxxxxx
>
> This prints quite a few debug-level messages to dmesg. I guess you'll post an
> update with fewer of them?

Right, this was a debugging patch.

> In any case, please feel free to add
>
> Acked-by: Rafael J. Wysocki <rafael@xxxxxxxxxx>

Thanks!