diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2007-10-17 12:04:40 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@inhelltoy.tec.linutronix.de> | 2007-10-17 14:16:50 -0400 |
commit | c1e3619edd2b3e17450d745e27e335490cafd78d (patch) | |
tree | 85d6af3369f529f863e24473430a9175a22feac7 /arch/x86/kernel/cpu/amd.c | |
parent | c789c037e9d0d93d6081e796ab70b488b2ff69f2 (diff) |
x86: print info about late C1E detection on 32bit as well
Some BIOSes set the C1E flag only on the second core. Print a warning so
the Firmware Toolkit can check for it.
mingo: fix C1E build bug on 32-bit
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/cpu/amd.c')
-rw-r--r-- | arch/x86/kernel/cpu/amd.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c index dcf6bbb1c7c0..5f8af875f457 100644 --- a/arch/x86/kernel/cpu/amd.c +++ b/arch/x86/kernel/cpu/amd.c | |||
@@ -4,6 +4,7 @@ | |||
4 | #include <asm/io.h> | 4 | #include <asm/io.h> |
5 | #include <asm/processor.h> | 5 | #include <asm/processor.h> |
6 | #include <asm/apic.h> | 6 | #include <asm/apic.h> |
7 | #include <asm/mach_apic.h> | ||
7 | 8 | ||
8 | #include "cpu.h" | 9 | #include "cpu.h" |
9 | 10 | ||
@@ -45,13 +46,17 @@ static __cpuinit int amd_apic_timer_broken(void) | |||
45 | case CPUID_XFAM_10H: | 46 | case CPUID_XFAM_10H: |
46 | case CPUID_XFAM_11H: | 47 | case CPUID_XFAM_11H: |
47 | rdmsr(MSR_K8_ENABLE_C1E, lo, hi); | 48 | rdmsr(MSR_K8_ENABLE_C1E, lo, hi); |
48 | if (lo & ENABLE_C1E_MASK) | 49 | if (lo & ENABLE_C1E_MASK) { |
50 | if (smp_processor_id() != boot_cpu_physical_apicid) | ||
51 | printk(KERN_INFO "AMD C1E detected late. " | ||
52 | " Force timer broadcast.\n"); | ||
49 | return 1; | 53 | return 1; |
50 | break; | 54 | } |
51 | default: | 55 | break; |
52 | /* err on the side of caution */ | 56 | default: |
57 | /* err on the side of caution */ | ||
53 | return 1; | 58 | return 1; |
54 | } | 59 | } |
55 | return 0; | 60 | return 0; |
56 | } | 61 | } |
57 | #endif | 62 | #endif |