summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/cpu/amd.c
diff options
context:
space:
mode:
authorAndreas Herrmann <andreas.herrmann3@amd.com>2012-10-19 10:59:33 +0200
committerH. Peter Anvin <hpa@linux.intel.com>2012-11-13 11:22:29 -0800
commit04a1541828ea223169eb44a336bfad8ec0dfb46a (patch)
treea670df6305266009a488f52ad763eb5a13767abf /arch/x86/kernel/cpu/amd.c
parent193f3fcb3ab769bab4a2b9fa181eef3e5699a352 (diff)
downloadblackbird-op-linux-04a1541828ea223169eb44a336bfad8ec0dfb46a.tar.gz
blackbird-op-linux-04a1541828ea223169eb44a336bfad8ec0dfb46a.zip
x86, cacheinfo: Determine number of cache leafs using CPUID 0x8000001d on AMD
CPUID 0x8000001d works quite similar to Intels' CPUID function 4. Use it to determine number of cache leafs. Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com> Link: http://lkml.kernel.org/r/20121019085933.GE26718@alberich Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/kernel/cpu/amd.c')
-rw-r--r--arch/x86/kernel/cpu/amd.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
index 64e9ad4e49a0..a8538e6d2ff2 100644
--- a/arch/x86/kernel/cpu/amd.c
+++ b/arch/x86/kernel/cpu/amd.c
@@ -643,12 +643,7 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c)
detect_ht(c);
#endif
- if (c->extended_cpuid_level >= 0x80000006) {
- if (cpuid_edx(0x80000006) & 0xf000)
- num_cache_leaves = 4;
- else
- num_cache_leaves = 3;
- }
+ init_amd_cacheinfo(c);
if (c->x86 >= 0xf)
set_cpu_cap(c, X86_FEATURE_K8);
OpenPOWER on IntegriCloud