aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/apic.c
diff options
context:
space:
mode:
authorAndi Kleen <andi@firstfloor.org>2009-02-12 07:49:37 -0500
committerH. Peter Anvin <hpa@zytor.com>2009-02-24 16:41:01 -0500
commit5ca8681ca10f671427710f4954644359856581a3 (patch)
tree35d14e43d01150c2d04d487296ce4ae69dec2131 /arch/x86/kernel/apic.c
parentdf20e2eb3e59b8625021a1bc8b1b53a4edc6008b (diff)
x86, mce, cmci: disable CMCI on rebooting
Impact: Avoids confusing other OSes. Disable the CMCI vector on reboot to avoid confusing other OS. Signed-off-by: Andi Kleen <ak@linux.intel.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch/x86/kernel/apic.c')
-rw-r--r--arch/x86/kernel/apic.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/x86/kernel/apic.c b/arch/x86/kernel/apic.c
index 570f36e44e59..648676f0b50a 100644
--- a/arch/x86/kernel/apic.c
+++ b/arch/x86/kernel/apic.c
@@ -868,6 +868,14 @@ void clear_local_APIC(void)
868 apic_write(APIC_LVTTHMR, v | APIC_LVT_MASKED); 868 apic_write(APIC_LVTTHMR, v | APIC_LVT_MASKED);
869 } 869 }
870#endif 870#endif
871#ifdef CONFIG_X86_MCE_INTEL
872 if (maxlvt >= 6) {
873 v = apic_read(APIC_LVTCMCI);
874 if (!(v & APIC_LVT_MASKED))
875 apic_write(APIC_LVTCMCI, v | APIC_LVT_MASKED);
876 }
877#endif
878
871 /* 879 /*
872 * Clean APIC state for other OSs: 880 * Clean APIC state for other OSs:
873 */ 881 */