From 28e6775d27e77adb68e07a21c43a398890512651 Mon Sep 17 00:00:00 2001 From: "Ronald G. Minnich" Date: Thu, 26 Jun 2003 13:39:16 +0000 Subject: [PATCH] early mtrr patch for XIP --- src/cpu/p6/earlymtrr.inc | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/cpu/p6/earlymtrr.inc b/src/cpu/p6/earlymtrr.inc index 4ef4b43260..1e793fc5af 100644 --- a/src/cpu/p6/earlymtrr.inc +++ b/src/cpu/p6/earlymtrr.inc @@ -35,6 +35,22 @@ set_fixed_mtrr: movl $0x06060606, %edx movl $0x06060606, %eax wrmsr + +#ifdef XIP_LOW + /* enable write through cache for 0xf0000-0xfffff*/ + movl $MTRRfix4K_F0000_MSR, %ecx + rdmsr + movl $0x04040404, %edx + movl $0x04040404, %eax + wrmsr + + movl $MTRRfix4K_F8000_MSR, %ecx + rdmsr + movl $0x04040404, %edx + movl $0x04040404, %eax + wrmsr +#endif /* XIP_LOW */ + #endif /* MEMORY_HOLE */ set_var_mtrr: @@ -56,12 +72,12 @@ set_var_mtrr: wrmsr #if defined(XIP_ROM_SIZE) && defined(XIP_ROM_BASE) - /* enable write protect caching so we can do execute in place + /* enable write through caching so we can do execute in place * on the flash rom. */ movl $0x202, %ecx xorl %edx, %edx - movl $(XIP_ROM_BASE | 0x005), %eax + movl $(XIP_ROM_BASE | 0x004), %eax wrmsr movl $0x203, %ecx