tree 80413101d457478d456c8a4383fd005ac2e602ab
parent 68ec7686202e6f751e8131fcbf92ed5372fa8375
author Siddha, Suresh B <[EMAIL PROTECTED]> Tue Apr 12 08:25:42 2005
committer Linus Torvalds <[EMAIL PROTECTED]> Tue Apr 12 08:25:42 2005

[PATCH] x86_64-always-use-cpuid-80000008-to-figure-out-mtrr fix

We need to use the size_and_mask in set_mtrr_var_ranges(which is called
while programming MTRR's for AP's

Signed-off-by: Suresh Siddha <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>

 generic.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

Index: arch/i386/kernel/cpu/mtrr/generic.c
===================================================================
--- 
98b924f6a325804ba9304eb3793faf40fab39118/arch/i386/kernel/cpu/mtrr/generic.c  
(mode:100644 sha1:cc17608a9a14d7ca84d648fc7c5948ca19e96464)
+++ 
80413101d457478d456c8a4383fd005ac2e602ab/arch/i386/kernel/cpu/mtrr/generic.c  
(mode:100644 sha1:bedd87508361a62b1036df677dcf69641732d4e9)
@@ -193,7 +193,8 @@
 
        rdmsr(MTRRphysBase_MSR(index), lo, hi);
        if ((vr->base_lo & 0xfffff0ffUL) != (lo & 0xfffff0ffUL)
-           || (vr->base_hi & 0xfUL) != (hi & 0xfUL)) {
+           || (vr->base_hi & (size_and_mask >> (32 - PAGE_SHIFT))) !=
+               (hi & (size_and_mask >> (32 - PAGE_SHIFT)))) {
                mtrr_wrmsr(MTRRphysBase_MSR(index), vr->base_lo, vr->base_hi);
                changed = TRUE;
        }
@@ -201,7 +202,8 @@
        rdmsr(MTRRphysMask_MSR(index), lo, hi);
 
        if ((vr->mask_lo & 0xfffff800UL) != (lo & 0xfffff800UL)
-           || (vr->mask_hi & 0xfUL) != (hi & 0xfUL)) {
+           || (vr->mask_hi & (size_and_mask >> (32 - PAGE_SHIFT))) !=
+               (hi & (size_and_mask >> (32 - PAGE_SHIFT)))) {
                mtrr_wrmsr(MTRRphysMask_MSR(index), vr->mask_lo, vr->mask_hi);
                changed = TRUE;
        }
-
To unsubscribe from this list: send the line "unsubscribe bk-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to