Commit 5b556332 authored by Borislav Petkov's avatar Borislav Petkov Committed by H. Peter Anvin

x86, cpu: Push TLB detection CPUID check down

Push the max CPUID leaf check into the ->detect_tlb function and remove
general test case from the generic path.
Signed-off-by: default avatarBorislav Petkov <borislav.petkov@amd.com>
Link: http://lkml.kernel.org/r/1344272439-29080-3-git-send-email-bp@amd64.orgAcked-by: default avatarAlex Shi <alex.shi@intel.com>
Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
parent a9ad773e
...@@ -940,8 +940,7 @@ void __init identify_boot_cpu(void) ...@@ -940,8 +940,7 @@ void __init identify_boot_cpu(void)
#else #else
vgetcpu_set_mode(); vgetcpu_set_mode();
#endif #endif
if (boot_cpu_data.cpuid_level >= 2) cpu_detect_tlb(&boot_cpu_data);
cpu_detect_tlb(&boot_cpu_data);
} }
void __cpuinit identify_secondary_cpu(struct cpuinfo_x86 *c) void __cpuinit identify_secondary_cpu(struct cpuinfo_x86 *c)
......
...@@ -648,6 +648,10 @@ static void __cpuinit intel_detect_tlb(struct cpuinfo_x86 *c) ...@@ -648,6 +648,10 @@ static void __cpuinit intel_detect_tlb(struct cpuinfo_x86 *c)
int i, j, n; int i, j, n;
unsigned int regs[4]; unsigned int regs[4];
unsigned char *desc = (unsigned char *)regs; unsigned char *desc = (unsigned char *)regs;
if (c->cpuid_level < 2)
return;
/* Number of times to iterate */ /* Number of times to iterate */
n = cpuid_eax(2) & 0xFF; n = cpuid_eax(2) & 0xFF;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment