linux-kernel-test/arch
Andi Kleen bd19a5e6b7 x86, mce: check early in exception handler if panic is needed
The exception handler should behave differently if the exception is
fatal versus one that can be returned from.  In the first case it should
never clear any registers because these need to be preserved
for logging after the next boot. Otherwise it should clear them
on each CPU step by step so that other CPUs sharing the same bank don't
see duplicate events. Otherwise we risk reporting events multiple
times on any CPUs which have shared machine check banks, which
is a common problem on Intel Nehalem which has both SMT (two
CPU threads sharing banks) and shared machine check banks in the uncore.

Determine early in a special pass if any event requires a panic.
This uses the mce_severity() function added earlier.

This is needed for the next patch.

Also fixes a problem together with an earlier patch
that corrected events weren't logged on a fatal MCE.

[ Impact: Feature ]

Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-06-03 14:40:39 -07:00
..
alpha Merge branch 'linus' into irq/numa 2009-06-01 21:06:21 +02:00
arm Merge branch 'linus' into irq/numa 2009-06-01 21:06:21 +02:00
avr32 avr32: drop unused CLEAN_FILES 2009-05-01 10:54:00 +02:00
blackfin flat: fix data sections alignment 2009-05-29 08:40:02 -07:00
cris Merge branch 'linus' into irq/numa 2009-06-01 21:06:21 +02:00
frv FRV: Use __INIT macro instead of .text.init. 2009-04-27 19:46:30 -07:00
h8300 flat: fix data sections alignment 2009-05-29 08:40:02 -07:00
ia64 Merge branch 'x86/apic' into irq/numa 2009-05-12 12:17:36 +02:00
m32r flat: fix data sections alignment 2009-05-29 08:40:02 -07:00
m68k flat: fix data sections alignment 2009-05-29 08:40:02 -07:00
m68knommu Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu 2009-04-24 08:45:53 -07:00
microblaze microblaze: Fix kind-of-intr checking against number of interrupts 2009-05-18 14:47:42 +02:00
mips Merge branch 'linus' into irq/numa 2009-06-01 21:06:21 +02:00
mn10300 mn10300: convert to use __HEAD and HEAD_TEXT macros. 2009-04-26 09:20:38 -07:00
parisc irq: change ->set_affinity() to return status 2009-04-28 12:21:16 +02:00
powerpc Merge branch 'linus' into irq/numa 2009-06-01 21:06:21 +02:00
s390 s390: convert to use __HEAD and HEAD_TEXT macros. 2009-04-26 09:20:39 -07:00
sh flat: fix data sections alignment 2009-05-29 08:40:02 -07:00
sparc Merge branch 'linus' into irq/numa 2009-06-01 21:06:21 +02:00
um uml: kill a kconfig warning 2009-04-21 13:41:50 -07:00
x86 x86, mce: check early in exception handler if panic is needed 2009-06-03 14:40:39 -07:00
xtensa xtensa: Fix linker script to include .literal sections 2009-05-11 23:40:33 -07:00
.gitignore
Kconfig mutex: have non-spinning mutexes on s390 by default 2009-04-09 19:28:24 +02:00