x86: process fam 10h like k8 with fixed mtrr setting
PATCH 1/1 x86: process fam 10h like k8 with fixed mtrr setting
otherwise fixed MTRR for family 10h may not be changed
arch/x86/kernel/cpu/mtrr/generic.c +1 -1
@@ -342,7 +342,7 @@ static void set_fixed_range(int msr, booif (lo != msrwords[0 ] || hi != msrwords[1 ]) {if (boot_cpu_data.x86_vendor ==X86_VENDOR_AMD && - boot_cpu_data.x86 ==15 && + (boot_cpu_data.x86 >=0x0f && boot_cpu_data.x86 <=0x11 ) && ((msrwords[0 ] | msrwords[1 ]) &K8_MTRR_RDMEM_WRMEM_MASK ))k8_enable_fixed_iorrs ();mtrr_wrmsr (msr, msrwords[0 ], msrwords[1 ]);
Ingo Molnar
AppliedQuoted 1 line · Yinghai Lu
otherwise fixed MTRR for family 10h may not be changed
applied, thanks.
Ingo
Quoted 10 lines · Yinghai Lu
otherwise fixed MTRR for family 10h may not be changed
Signed-off-by Yinghai Lu <[email protected]>Index:
linux-2.6/arch/x86/kernel/cpu/mtrr/generic.c
===================================================================
arch/x86/kernel/cpu/mtrr/generic.c static void set_fixed_range(int msr, boo · line 348
Quoted 8 lines
arch/x86/kernel/cpu/mtrr/generic.c +1
-1@@ -342,7 +342,7 @@ static void set_fixed_range(int msr, booif (lo != msrwords[0 ] || hi != msrwords[1 ]) {if (boot_cpu_data.x86_vendor ==X86_VENDOR_AMD && - boot_cpu_data.x86 ==15 && + (boot_cpu_data.x86 >=0x0f && boot_cpu_data.x86 <=0x11 ) && ((msrwords[0 ] | msrwords[1 ]) &K8_MTRR_RDMEM_WRMEM_MASK ))k8_enable_fixed_iorrs ();mtrr_wrmsr (msr, msrwords[0 ], msrwords[1 ]);
This also changes family 0x11. Is that ok?
Signature · 2 lines
(english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
Quoted 12 lines · Pavel Machek
Quoted 11 lines · Yinghai Lu
otherwise fixed MTRR for family 10h may not be changed
Signed-off-by Yinghai Lu <[email protected]>Index:
linux-2.6/arch/x86/kernel/cpu/mtrr/generic.c
===================================================================arch/x86/kernel/cpu/mtrr/generic.c +0
-0@@ -342,7 +342,7 @@ static void set_fixed_range(int msr, boo
Quoted 9 lines
arch/x86/kernel/cpu/mtrr/generic.c static void set_fixed_range(int msr, boo · line 348
Quoted 7 lines
arch/x86/kernel/cpu/mtrr/generic.c +1
-1if (lo != msrwords[0 ] || hi != msrwords[1 ]) {if (boot_cpu_data.x86_vendor ==X86_VENDOR_AMD && - boot_cpu_data.x86 ==15 && + (boot_cpu_data.x86 >=0x0f && boot_cpu_data.x86 <=0x11 ) && ((msrwords[0 ] | msrwords[1 ]) &K8_MTRR_RDMEM_WRMEM_MASK ))k8_enable_fixed_iorrs ();mtrr_wrmsr (msr, msrwords[0 ], msrwords[1 ]);This also changes family
0x11. Is that ok?
Yes.
YH