OpenCloudOS-Kernel/arch/x86/kernel/cpu/mcheck
Bartlomiej Zolnierkiewicz c7f6fa4411 x86, mce: don't log boot MCEs on Pentium M (model == 13) CPUs
On my legacy Pentium M laptop (Acer Extensa 2900) I get bogus MCE on a cold
boot with CONFIG_X86_NEW_MCE enabled, i.e. (after decoding it with mcelog):

MCE 0
HARDWARE ERROR. This is *NOT* a software problem!
Please contact your hardware vendor
CPU 0 BANK 1 MCG status:
MCi status:
Error overflow
Uncorrected error
Error enabled
Processor context corrupt
MCA: Data CACHE Level-1 UNKNOWN Error
STATUS f200000000000195 MCGSTATUS 0

[ The other STATUS values observed: f2000000000001b5 (... UNKNOWN error)
  and f200000000000115 (... READ Error).

  To verify that this is not a CONFIG_X86_NEW_MCE bug I also modified
  the CONFIG_X86_OLD_MCE code (which doesn't log any MCEs) to dump
  content of STATUS MSR before it is cleared during initialization. ]

Since the bogus MCE results in a kernel taint (which in turn disables
lockdep support) don't log boot MCEs on Pentium M (model == 13) CPUs
by default ("mce=bootlog" boot parameter can be be used to get the old
behavior).

Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Reviewed-by: Andi Kleen <andi@firstfloor.org>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-08-17 10:17:02 +02:00
..
Makefile x86, mce: rename _64.c files which are no longer 64-bit-specific 2009-06-16 16:56:11 -07:00
k7.c x86, mce: unify mce.h 2009-06-16 16:56:07 -07:00
mce-inject.c x86, mce: rename mce_notify_user to mce_notify_irq 2009-06-03 14:48:04 -07:00
mce-internal.h x86, mce: implement new status bits 2009-06-03 14:45:34 -07:00
mce-severity.c x86, mce: export MCE severities coverage via debugfs 2009-06-03 14:45:34 -07:00
mce.c x86, mce: don't log boot MCEs on Pentium M (model == 13) CPUs 2009-08-17 10:17:02 +02:00
mce_amd.c x86, mce: rename _64.c files which are no longer 64-bit-specific 2009-06-16 16:56:11 -07:00
mce_intel.c x86, mce: mce_intel.c needs <asm/apic.h> 2009-06-17 08:31:15 -07:00
non-fatal.c x86, mce: unify mce.h 2009-06-16 16:56:07 -07:00
p4.c x86, mce: remove therm_throt.h 2009-06-16 16:56:09 -07:00
p5.c x86, mce: make mce_disabled boolean 2009-06-16 16:56:07 -07:00
p6.c x86, mce: unify mce.h 2009-06-16 16:56:07 -07:00
therm_throt.c x86, mce: therm_throt: Don't log redundant normality 2009-08-16 17:25:41 +02:00
threshold.c x86, mce: enable MCE_INTEL for 32bit new MCE 2009-05-28 09:24:13 -07:00
winchip.c x86, mce: unify mce.h 2009-06-16 16:56:07 -07:00