On 08/07/2012 01:00 AM, Borislav Petkov wrote:

> From: Borislav Petkov <borislav.pet...@amd.com>
> 
> Push the max CPUID leaf check into the ->detect_tlb function and remove
> general test case from the generic path.
> 
> Signed-off-by: Borislav Petkov <borislav.pet...@amd.com>


Acked-by: Alex Shi <alex....@intel.com>

> ---
>  arch/x86/kernel/cpu/common.c | 3 +--
>  arch/x86/kernel/cpu/intel.c  | 4 ++++
>  2 files changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
> index d239977f361f..080f4a737e3e 100644
> --- a/arch/x86/kernel/cpu/common.c
> +++ b/arch/x86/kernel/cpu/common.c
> @@ -940,8 +940,7 @@ void __init identify_boot_cpu(void)
>  #else
>       vgetcpu_set_mode();
>  #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)
> diff --git a/arch/x86/kernel/cpu/intel.c b/arch/x86/kernel/cpu/intel.c
> index 0a4ce2980a5a..198e019a531a 100644
> --- a/arch/x86/kernel/cpu/intel.c
> +++ b/arch/x86/kernel/cpu/intel.c
> @@ -648,6 +648,10 @@ static void __cpuinit intel_detect_tlb(struct 
> cpuinfo_x86 *c)
>       int i, j, n;
>       unsigned int regs[4];
>       unsigned char *desc = (unsigned char *)regs;
> +
> +     if (c->cpuid_level < 2)
> +             return;
> +
>       /* Number of times to iterate */
>       n = cpuid_eax(2) & 0xFF;
>  


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to