diff options
author | Andi Kleen <andi@firstfloor.org> | 2009-02-12 13:49:37 +0100 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2009-02-24 13:41:01 -0800 |
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 570f36e44e5..648676f0b50 100644 --- a/arch/x86/kernel/apic.c +++ b/arch/x86/kernel/apic.c @@ -868,6 +868,14 @@ void clear_local_APIC(void) apic_write(APIC_LVTTHMR, v | APIC_LVT_MASKED); } #endif +#ifdef CONFIG_X86_MCE_INTEL + if (maxlvt >= 6) { + v = apic_read(APIC_LVTCMCI); + if (!(v & APIC_LVT_MASKED)) + apic_write(APIC_LVTCMCI, v | APIC_LVT_MASKED); + } +#endif + /* * Clean APIC state for other OSs: */ |