Re: [RFC] - Mapping ACPI tables as CACHED

From: H. Peter Anvin
Date: Tue Aug 17 2010 - 11:52:43 EST


On 07/23/2010 07:26 AM, ykzhao wrote:

Yes. We can't map the corresponding ACPI region as cached under the
following case:
>No E820_ACPI region is reported by BIOS. In such case the ACPI
table resides in the NVS region


Why could we not map the NVS region as cached? That doesn't seem to make sense. In practice, at least, on all BIOSes I've seen the NVS region is just another hunk of RAM.

Sample from a real system:

BIOS-e820: 000000007d6b0000 - 000000007d6cc000 (ACPI data)
BIOS-e820: 000000007d6cc000 - 000000007d700000 (ACPI NVS)

Both are clearly RAM.

If you're not talking about the e820 NVS region, that might be a different thing, but for the ROM region in the legacy area, the fixed MTRRs are often set up to allow caching, and we should be able to map them cacheable, e.g. on this system:

00000-9FFFF write-back
A0000-BFFFF uncachable
C0000-CFFFF write-protect
D0000-DFFFF uncachable
E0000-FFFFF write-protect

Clearly cacheable.

-hpa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/