i386: Use global flag to disable broken local apic timer on AMD CPUs.
authorAndi Kleen <ak@suse.de>
Fri, 10 Aug 2007 20:31:07 +0000 (22:31 +0200)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Sat, 11 Aug 2007 22:58:13 +0000 (15:58 -0700)
commitd3f7eae182b04997be19343a23f7009170f4f7a5
tree162fc610811c762b322eedaae909847ab4465da1
parentd2d0251f6faa2cf341500a44310bbaa815a8a972
i386: Use global flag to disable broken local apic timer on AMD CPUs.

The Averatec 2370 and some other Turion laptop BIOS seems to program the
ENABLE_C1E MSR inconsistently between cores. This confuses the lapic
use heuristics because when C1E is enabled anywhere it seems to affect
the complete chip.

Use a global flag instead of a per cpu flag to handle this.
If any CPU has C1E enabled disabled lapic use.

Thanks to Cal Peake for debugging.

Cc: tglx@linutronix.de
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/i386/kernel/apic.c
arch/i386/kernel/cpu/amd.c
include/asm-i386/apic.h
include/asm-i386/cpufeature.h