
From: Leendert van Doorn <leendert@watson.ibm.com>

The old code cuts off the higher bits in CR4 (such as X86_CR4_OSFXSR,
X86_CR4_OSXMMEXCPT).

Signed-off-by: leendert@watson.ibm.com
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/arch/i386/kernel/cpu/mtrr/generic.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN arch/i386/kernel/cpu/mtrr/generic.c~arch-i386-kernel-cpu-mtrr-too-many-bits-are-masked-off-from-cr4 arch/i386/kernel/cpu/mtrr/generic.c
--- 25/arch/i386/kernel/cpu/mtrr/generic.c~arch-i386-kernel-cpu-mtrr-too-many-bits-are-masked-off-from-cr4	2005-01-05 18:20:55.320268696 -0800
+++ 25-akpm/arch/i386/kernel/cpu/mtrr/generic.c	2005-01-05 18:20:55.323268240 -0800
@@ -258,7 +258,7 @@ static void prepare_set(void)
 	/*  Save value of CR4 and clear Page Global Enable (bit 7)  */
 	if ( cpu_has_pge ) {
 		cr4 = read_cr4();
-		write_cr4(cr4 & (unsigned char) ~(1 << 7));
+		write_cr4(cr4 & ~X86_CR4_PGE);
 	}
 
 	/* Flush all TLBs via a mov %cr3, %reg; mov %reg, %cr3 */
_
