lkml.org 
[lkml]   [2008]   [Oct]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 2/3] x86: mtrr_cleanup: first 1M should be coverred in var mtrrs
On Sat, Oct 4, 2008 at 5:46 PM, H. Peter Anvin <hpa@zytor.com> wrote:
> 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.

so it is safe to put it in WB, and can be spare some regs because it
start from base 0.

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

EFI will not use fixed-mtrr for first 1M? and not cover first 1M in
var mtrr with WB? that will run out mtrr regs..

YH


\
 
 \ /
  Last update: 2008-10-05 03:53    [W:0.040 / U:1.892 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site