[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230105203757.GA1166631@bhelgaas>
Date: Thu, 5 Jan 2023 14:37:57 -0600
From: Bjorn Helgaas <helgaas@...nel.org>
To: "Luck, Tony" <tony.luck@...el.com>
Cc: "Williams, Dan J" <dan.j.williams@...el.com>,
"Liang, Kan" <kan.liang@...ux.intel.com>,
"bhelgaas@...gle.com" <bhelgaas@...gle.com>,
"hdegoede@...hat.com" <hdegoede@...hat.com>,
"kernelorg@...ead.fr" <kernelorg@...ead.fr>,
"kjhambrick@...il.com" <kjhambrick@...il.com>,
"2lprbe78@...k.com" <2lprbe78@...k.com>,
"nicholas.johnson-opensource@...look.com.au"
<nicholas.johnson-opensource@...look.com.au>,
"benoitg@...us.ca" <benoitg@...us.ca>,
"mika.westerberg@...ux.intel.com" <mika.westerberg@...ux.intel.com>,
"wse@...edocomputers.com" <wse@...edocomputers.com>,
"mumblingdrunkard@...tonmail.com" <mumblingdrunkard@...tonmail.com>,
"linux-pci@...r.kernel.org" <linux-pci@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"Box, David E" <david.e.box@...el.com>,
"Sun, Yunying" <yunying.sun@...el.com>
Subject: Re: Bug report: the extended PCI config space is missed with 6.2-rc2
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
Powered by blists - more mailing lists