x86: tsc: Identify Intel-specific code
authorBin Meng <bmeng.cn@gmail.com>
Wed, 26 Jul 2017 03:12:01 +0000 (20:12 -0700)
committerBin Meng <bmeng.cn@gmail.com>
Tue, 1 Aug 2017 12:17:02 +0000 (20:17 +0800)
try_msr_calibrate_tsc() is currently Intel-specific, and should not
execute on any other vendor's parts.

This keeps in sync with Linux kernel commit:
  ba82683: x86/tsc_msr: Identify Intel-specific code

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
drivers/timer/tsc_timer.c

index ffbc7091fa24007173b16d9a82cc0cb510af0a0c..4d01c9bce793231a7e1d9531936800fb22d7d383 100644 (file)
@@ -11,6 +11,7 @@
 #include <dm.h>
 #include <malloc.h>
 #include <timer.h>
+#include <asm/cpu.h>
 #include <asm/io.h>
 #include <asm/i8254.h>
 #include <asm/ibmpc.h>
@@ -86,6 +87,9 @@ static unsigned long __maybe_unused try_msr_calibrate_tsc(void)
        unsigned long res;
        int cpu_index;
 
+       if (gd->arch.x86_vendor != X86_VENDOR_INTEL)
+               return 0;
+
        cpu_index = match_cpu(gd->arch.x86, gd->arch.x86_model);
        if (cpu_index < 0)
                return 0;