Re: [PATCH 2/3] x86: mtrr_cleanup: first 1M should be coverred invar mtrrs

From: H. Peter Anvin
Date: Sat Oct 04 2008 - 20:46:50 EST


Yinghai Lu wrote:
+ /*
+ * [0, 1M) should always be coverred by var mtrr with WB
+ * and fixed mtrrs should take effective before var mtrr for it
+ */
+ nr_range = add_range_with_merge(range, nr_range, 0,
+ (1ULL<<(20 - PAGE_SHIFT)) - 1);
+ /* sort the ranges */
+ sort(range, nr_range, sizeof(struct res_range), cmp_range, NULL);
+

The first 1 MB is a total don't care for the variable MTRRs -- they don't have to be covered *or* uncovered, since the entire first 1 MB is addressed by fixed MTRRs.

In practice, it is *likely* that you're going to want to merge it with a WB MTRR, but with various vendors doing all kinds of strange things on EFI-damaged platforms, it may not always be that way.

-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/