x86, mce: add table driven machine check grading
commit817f32d02a52dd7f5941534e0699883691e918df
authorAndi Kleen <andi@firstfloor.org>
Wed, 27 May 2009 19:56:54 +0000 (27 21:56 +0200)
committerH. Peter Anvin <hpa@zytor.com>
Wed, 3 Jun 2009 21:40:39 +0000 (3 14:40 -0700)
treeebca6e71edd283b9c13dde01d1861368a7e2fdcf
parenta0189c70e5f17f4253dd7bc575c97469900e23d6
x86, mce: add table driven machine check grading

The machine check grading (as in deciding what should be done for a given
register value) has to be done multiple times soon and it's also getting
more complicated.
So it makes sense to consolidate it into a single function. To get smaller
and more straight forward and possibly more extensible code I opted towards
a new table driven method. The various rules are put into a table
when is then executed by a very simple interpreter.

The grading engine is in a new file mce-severity.c. I also added a private
include file mce-internal.h, because mce.h is already a bit too cluttered.

This is dead code right now, but will be used in followon patches.

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>
arch/x86/kernel/cpu/mcheck/Makefile
arch/x86/kernel/cpu/mcheck/mce-internal.h [new file with mode: 0644]
arch/x86/kernel/cpu/mcheck/mce-severity.c [new file with mode: 0644]