diff options
author | Andi Kleen <ak@suse.de> | 2008-01-30 07:33:20 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:33:20 -0500 |
commit | 404ee5b14b68d3cba287c2596588b83790c49f7b (patch) | |
tree | 6007a5d2c461c3435edbc9335c84ff45ec4715ca /arch/x86/kernel/tsc_32.c | |
parent | 8424950b5e85543a494b5d940bb2f5f9f16f56a9 (diff) |
x86: convert TSC disabling to generic cpuid disable bitmap
Fix from: Ian Campbell <ijc@hellion.org.uk>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel/tsc_32.c')
-rw-r--r-- | arch/x86/kernel/tsc_32.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/arch/x86/kernel/tsc_32.c b/arch/x86/kernel/tsc_32.c index 2a7b95bd8509..43517e324be8 100644 --- a/arch/x86/kernel/tsc_32.c +++ b/arch/x86/kernel/tsc_32.c | |||
@@ -24,8 +24,6 @@ static int tsc_enabled; | |||
24 | unsigned int tsc_khz; | 24 | unsigned int tsc_khz; |
25 | EXPORT_SYMBOL_GPL(tsc_khz); | 25 | EXPORT_SYMBOL_GPL(tsc_khz); |
26 | 26 | ||
27 | int tsc_disable; | ||
28 | |||
29 | #ifdef CONFIG_X86_TSC | 27 | #ifdef CONFIG_X86_TSC |
30 | static int __init tsc_setup(char *str) | 28 | static int __init tsc_setup(char *str) |
31 | { | 29 | { |
@@ -40,8 +38,7 @@ static int __init tsc_setup(char *str) | |||
40 | */ | 38 | */ |
41 | static int __init tsc_setup(char *str) | 39 | static int __init tsc_setup(char *str) |
42 | { | 40 | { |
43 | tsc_disable = 1; | 41 | setup_clear_cpu_cap(X86_FEATURE_TSC); |
44 | |||
45 | return 1; | 42 | return 1; |
46 | } | 43 | } |
47 | #endif | 44 | #endif |
@@ -395,7 +392,7 @@ void __init tsc_init(void) | |||
395 | { | 392 | { |
396 | int cpu; | 393 | int cpu; |
397 | 394 | ||
398 | if (!cpu_has_tsc || tsc_disable) | 395 | if (!cpu_has_tsc) |
399 | goto out_no_tsc; | 396 | goto out_no_tsc; |
400 | 397 | ||
401 | cpu_khz = calculate_cpu_khz(); | 398 | cpu_khz = calculate_cpu_khz(); |
@@ -439,10 +436,5 @@ void __init tsc_init(void) | |||
439 | return; | 436 | return; |
440 | 437 | ||
441 | out_no_tsc: | 438 | out_no_tsc: |
442 | /* | 439 | setup_clear_cpu_cap(X86_FEATURE_TSC); |
443 | * Set the tsc_disable flag if there's no TSC support, this | ||
444 | * makes it a fast flag for the kernel to see whether it | ||
445 | * should be using the TSC. | ||
446 | */ | ||
447 | tsc_disable = 1; | ||
448 | } | 440 | } |