On Wed, Apr 17, 2024 at 11:47:27PM +0300, Andy Shevchenko wrote:
On Wed, Apr 17, 2024 at 11:40 PM Bjorn Helgaas helgaas@kernel.org wrote:
Reported-by: Mateusz Kaduk mateusz.kaduk@gmail.com
Reported-by: Arul <...> Reported-by: Imcarneiro91 <...> Reported-by: Aman <...>
Isn't bugzilla public enough? You may take emails from there, no?
Good question. I think email addresses in bugzilla are only visible to logged-in users, so I wanted permission before publishing them. I got that from Mateusz and am hoping to hear from the others because I want everybody to get credit for their contribution.
/*
* 946f2ee5c731 ("Check that MCFG points to an e820
* reserved area") added this E820 check in 2006 to work
* around BIOS defects.
*
* Per PCI Firmware r3.3, sec 4.1.2, ECAM space must be
* reserved by a PNP0C02 resource, but it need not be
* mentioned in E820. Before the ACPI interpreter is
* available, we can't check for PNP0C02 resources, so
* there's no reliable way to verify the region in this
* early check. Keep it only for the old machines that
* motivated 946f2ee5c731.
*/
if (dmi_get_bios_year() < 2016 && raw_pci_ops)
I probably missed something, but where does 2016 come from? (I've been following the bz discussion)
I made it up based on the fact that 946f2ee5c731 was added in 2006, and I just added 10 years. I would love to get rid of the E820 checks altogether because they're really completely bogus and an ongoing headache, but I don't know the details of the machines that 946f2ee5c731 fixed. I'm open to other suggestions. The Lenovo BIOS is from 2023, so it would have to be something earlier than that:
DMI: LENOVO 83AG/LNVNB161216, BIOS MHCN40WW 12/15/2023
if (pci_mmcfg_running_state) return true;
/* Don't try to do this check unless configuration
type 1 is available. how about type 2 ?*/
if (raw_pci_ops)
return is_mmconf_reserved(e820__mapped_all, cfg, dev,
"E820 entry");
return false;
Not strictly related to this patch, but now it can simply
return pci_mmcfg_running_state;
Good point, changed locally.
In any case, LGTM, Reviewed-by: Andy Shevchenko andy@kernel.org
Thanks!
Bjorn