Re: [patch] Ignore MCFG if the mmconfig area isn't reserved in thee820 table.

From: Arjan van de Ven
Date: Thu May 18 2006 - 09:05:09 EST

Konrad Rzeszutek wrote:
There have been several machines that don't have a working MMCONFIG,
often because of a buggy MCFG table in the ACPI bios. This patch adds a
simple sanity check that detects a whole bunch of these cases, and when
it detects it, linux now boots rather than crash-and-burns. [snip]


I am not sure if your analysis and your solution to the problem is correct. It was my understanding that any memory NOT defined in the E820 tables is NOT considered system memory. Therefore memory addresses defined in the ACPI MCFG table do not have to show up in the E820 table.

the problem is that Linux considers these 'free game' and will happily put
something like IO windows for cardbus cards there.

Also the ACPI spec v3.0 (pg 405 of PDF, section 14.2, titled:
"E820 Assumptions and Limitations") agrees with this:

"The BIOS does not return a range description for the memory mapping
of PCI devices, ISA Option ROMs, and the ISA PNP cards because the OS
has mechanisms available to detect them."

MCFG is none of these...

If this is not a specification issue, I was wondering if perhaps for the machines you refer to, their BIOS bug is that the E820 have memory ranges
which also encompass what MMCONF points to?

no their bug is mostly that MCFG is garbage in those bioses. It points plain to
the wrong place. They even reserved the correct range, just pointed mcfg at the
wrong place.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at