tree 97d170a4f4926cb6ac1b904a51e5681056231883
parent 1f2c958ad51fed18b23558e2047b98dfa752e689
author Siddha, Suresh B <[EMAIL PROTECTED]> Sun, 17 Apr 2005 05:25:11 -0700
committer Linus Torvalds <[EMAIL PROTECTED]> Sun, 17 Apr 2005 05:25:11 -0700
[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]>
i386/kernel/cpu/mtrr/generic.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
Index: arch/i386/kernel/cpu/mtrr/generic.c
===================================================================
---
a82d8c45c10498dad5b7e2187b842c0e76d4490a/arch/i386/kernel/cpu/mtrr/generic.c
(mode:100644 sha1:a4cce454d09b291920db801b3661890678f4bcb8)
+++
97d170a4f4926cb6ac1b904a51e5681056231883/arch/i386/kernel/cpu/mtrr/generic.c
(mode:100644 sha1:9f7a7ea6388dbf84f28be95b73484d63c38e243a)
@@ -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