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/cpu | |
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/cpu')
-rw-r--r-- | arch/x86/kernel/cpu/bugs.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/cpu/common.c | 9 |
2 files changed, 1 insertions, 10 deletions
diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c index a96abd453e0d..9b95edcfc6ae 100644 --- a/arch/x86/kernel/cpu/bugs.c +++ b/arch/x86/kernel/cpu/bugs.c | |||
@@ -154,7 +154,7 @@ static void __init check_config(void) | |||
154 | * If we configured ourselves for a TSC, we'd better have one! | 154 | * If we configured ourselves for a TSC, we'd better have one! |
155 | */ | 155 | */ |
156 | #ifdef CONFIG_X86_TSC | 156 | #ifdef CONFIG_X86_TSC |
157 | if (!cpu_has_tsc && !tsc_disable) | 157 | if (!cpu_has_tsc) |
158 | panic("Kernel compiled for Pentium+, requires TSC feature!"); | 158 | panic("Kernel compiled for Pentium+, requires TSC feature!"); |
159 | #endif | 159 | #endif |
160 | 160 | ||
diff --git a/arch/x86/kernel/cpu/common.c b/arch/x86/kernel/cpu/common.c index c66991a04a8a..dfc9563fc4f0 100644 --- a/arch/x86/kernel/cpu/common.c +++ b/arch/x86/kernel/cpu/common.c | |||
@@ -446,10 +446,6 @@ void __cpuinit identify_cpu(struct cpuinfo_x86 *c) | |||
446 | * we do "generic changes." | 446 | * we do "generic changes." |
447 | */ | 447 | */ |
448 | 448 | ||
449 | /* TSC disabled? */ | ||
450 | if ( tsc_disable ) | ||
451 | clear_bit(X86_FEATURE_TSC, c->x86_capability); | ||
452 | |||
453 | /* If the model name is still unset, do table lookup. */ | 449 | /* If the model name is still unset, do table lookup. */ |
454 | if ( !c->x86_model_id[0] ) { | 450 | if ( !c->x86_model_id[0] ) { |
455 | char *p; | 451 | char *p; |
@@ -650,11 +646,6 @@ void __cpuinit cpu_init(void) | |||
650 | 646 | ||
651 | if (cpu_has_vme || cpu_has_tsc || cpu_has_de) | 647 | if (cpu_has_vme || cpu_has_tsc || cpu_has_de) |
652 | clear_in_cr4(X86_CR4_VME|X86_CR4_PVI|X86_CR4_TSD|X86_CR4_DE); | 648 | clear_in_cr4(X86_CR4_VME|X86_CR4_PVI|X86_CR4_TSD|X86_CR4_DE); |
653 | if (tsc_disable && cpu_has_tsc) { | ||
654 | printk(KERN_NOTICE "Disabling TSC...\n"); | ||
655 | /**** FIX-HPA: DOES THIS REALLY BELONG HERE? ****/ | ||
656 | clear_bit(X86_FEATURE_TSC, boot_cpu_data.x86_capability); | ||
657 | } | ||
658 | 649 | ||
659 | load_idt(&idt_descr); | 650 | load_idt(&idt_descr); |
660 | switch_to_new_gdt(); | 651 | switch_to_new_gdt(); |