diff options
author | Andi Kleen <andi@firstfloor.org> | 2009-02-12 07:49:37 -0500 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2009-02-24 16:41:01 -0500 |
commit | 5ca8681ca10f671427710f4954644359856581a3 (patch) | |
tree | 35d14e43d01150c2d04d487296ce4ae69dec2131 | |
parent | df20e2eb3e59b8625021a1bc8b1b53a4edc6008b (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>
-rw-r--r-- | arch/x86/kernel/apic.c | 8 |
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 | */ |