diff options
author | Andi Kleen <andi@firstfloor.org> | 2009-05-27 21:56:54 +0200 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2009-06-03 23:40:39 +0200 |
commit | 817f32d02a52dd7f5941534e0699883691e918df (patch) | |
tree | ebca6e71edd283b9c13dde01d1861368a7e2fdcf /arch/x86/kernel/cpu/mcheck/mce-internal.h | |
parent | x86, mce: remove TSC print heuristic (diff) | |
download | linux-817f32d02a52dd7f5941534e0699883691e918df.tar.xz linux-817f32d02a52dd7f5941534e0699883691e918df.zip |
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>
Diffstat (limited to 'arch/x86/kernel/cpu/mcheck/mce-internal.h')
-rw-r--r-- | arch/x86/kernel/cpu/mcheck/mce-internal.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/x86/kernel/cpu/mcheck/mce-internal.h b/arch/x86/kernel/cpu/mcheck/mce-internal.h new file mode 100644 index 000000000000..f126b4ae7a25 --- /dev/null +++ b/arch/x86/kernel/cpu/mcheck/mce-internal.h @@ -0,0 +1,10 @@ +#include <asm/mce.h> + +enum severity_level { + MCE_NO_SEVERITY, + MCE_SOME_SEVERITY, + MCE_UC_SEVERITY, + MCE_PANIC_SEVERITY, +}; + +int mce_severity(struct mce *a, int tolerant, char **msg); |