diff options
author | Andreas Herrmann <andreas.herrmann3@amd.com> | 2009-04-09 09:05:10 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-04-10 08:21:40 -0400 |
commit | bda869c614c937c318547c3ee1d65a316b693c21 (patch) | |
tree | 7c18363d0a77018e0ad690a9ad020d7d0f63427f | |
parent | a0d22f485af1553060b4094ee0154537a8f6a8a6 (diff) |
x86: cacheinfo: use L3 cache index disable feature only for CPUs that support it
AMD family 0x11 CPU doesn't support the feature.
Some AMD family 0x10 CPUs do not support it or have an erratum, see
erratum #382 in "Revision Guide for AMD Family 10h Processors, 41322
Rev. 3.40 February 2009".
Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
CC: Mark Langsdorf <mark.langsdorf@amd.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
LKML-Reference: <20090409130510.GG31527@alberich.amd.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | arch/x86/kernel/cpu/intel_cacheinfo.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/x86/kernel/cpu/intel_cacheinfo.c b/arch/x86/kernel/cpu/intel_cacheinfo.c index 483eda96e102..72401264912c 100644 --- a/arch/x86/kernel/cpu/intel_cacheinfo.c +++ b/arch/x86/kernel/cpu/intel_cacheinfo.c | |||
@@ -291,6 +291,14 @@ amd_check_l3_disable(int index, struct _cpuid4_info_regs *this_leaf) | |||
291 | { | 291 | { |
292 | if (index < 3) | 292 | if (index < 3) |
293 | return; | 293 | return; |
294 | |||
295 | if (boot_cpu_data.x86 == 0x11) | ||
296 | return; | ||
297 | |||
298 | /* see erratum #382 */ | ||
299 | if ((boot_cpu_data.x86 == 0x10) && (boot_cpu_data.x86_model < 0x8)) | ||
300 | return; | ||
301 | |||
294 | this_leaf->can_disable = 1; | 302 | this_leaf->can_disable = 1; |
295 | } | 303 | } |
296 | 304 | ||