On Thu, Jan 05, 2023 at 07:58:47PM +0000, Luck, Tony wrote: > > Definitely an ambiguity / conflict, but not sure it is a bug when you > > look at from the perspective of how would an EFI runtime service use > > ECAM/MMCONFIG space? > > > > Would it be enough to add this clarification in "EFI 2.9 Table 7-6 > > Memory Type Usage after ExitBootServices()"? > > > > s/This memory is not used by the OS./This memory is not used by the OS, > > unless ACPI declares it for another purpose./ > > In the case of the EDAC driver there isn't any ACPI declaration. It just does > pci_get_device() to find the devices it needs to use with a lookup based on > vendor-id and device-id. The EDAC driver wouldn't have any ACPI stuff in it; it's just that Linux is looking for ACPI info about the ECAM area. I think the problem here is that the ECAM/MMCONFIG code checks to make sure the ECAM space is reserved somewhere. If it doesn't find a reservation either in E820 [1] or by PNP0C01/PNP0C02 _CRS methods [2], it decides it's not safe to use ECAM, which means we may only have the old accessors that can only reach 256 bytes of config space. Bjorn [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/x86/pci/mmconfig-shared.c?id=v6.1#n447 [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/x86/pci/mmconfig-shared.c?id=v6.1#n428