diff options
Diffstat (limited to 'arch/i386/kernel/cpu/amd.c')
-rw-r--r-- | arch/i386/kernel/cpu/amd.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/arch/i386/kernel/cpu/amd.c b/arch/i386/kernel/cpu/amd.c index 6f47eeeb93ea..815a5f0aa474 100644 --- a/arch/i386/kernel/cpu/amd.c +++ b/arch/i386/kernel/cpu/amd.c | |||
@@ -272,8 +272,12 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c) | |||
272 | } | 272 | } |
273 | #endif | 273 | #endif |
274 | 274 | ||
275 | if (cpuid_eax(0x80000000) >= 0x80000006) | 275 | if (cpuid_eax(0x80000000) >= 0x80000006) { |
276 | num_cache_leaves = 3; | 276 | if ((c->x86 == 0x10) && (cpuid_edx(0x80000006) & 0xf000)) |
277 | num_cache_leaves = 4; | ||
278 | else | ||
279 | num_cache_leaves = 3; | ||
280 | } | ||
277 | 281 | ||
278 | if (amd_apic_timer_broken()) | 282 | if (amd_apic_timer_broken()) |
279 | set_bit(X86_FEATURE_LAPIC_TIMER_BROKEN, c->x86_capability); | 283 | set_bit(X86_FEATURE_LAPIC_TIMER_BROKEN, c->x86_capability); |