On 08/03/2012 09:37 AM, Borislav Petkov wrote:
> From: Borislav Petkov <borislav.pet...@amd.com>
> 
> TLB characteristics on AMD are in the extended CPUID level, leafs
> 0x8000000{5,6} so we need to check those before doing the detection.
> 
> Signed-off-by: Borislav Petkov <borislav.pet...@amd.com>
> ---
>  arch/x86/kernel/cpu/common.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c
> index d239977f361f..ebab0e77e691 100644
> --- a/arch/x86/kernel/cpu/common.c
> +++ b/arch/x86/kernel/cpu/common.c
> @@ -940,7 +940,8 @@ void __init identify_boot_cpu(void)
>  #else
>       vgetcpu_set_mode();
>  #endif
> -     if (boot_cpu_data.cpuid_level >= 2)
> +     if (boot_cpu_data.cpuid_level >= 2 ||
> +         boot_cpu_data.extended_cpuid_level >= 0x80000006)
>               cpu_detect_tlb(&boot_cpu_data);
>  }
>  

This really belongs in cpu_detect_tlb() itself (or rather, in the
subfunctions called by it.)  Can we just lose the general test here, please?

        -hpa

--
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