diff options
author | Andi Kleen <ak@linux.intel.com> | 2009-04-29 13:31:00 -0400 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2009-05-28 12:24:14 -0400 |
commit | ea149b36c7f511d17dd89fee734cb09778a91fa0 (patch) | |
tree | 04466a9b92dc5ce01c2ab8661165e3564d99f5c1 /arch/x86/Kconfig | |
parent | 5f8c1a54cab6f449fe04d42d0661bc796fa4e73e (diff) |
x86, mce: add basic error injection infrastructure
Allow user programs to write mce records into /dev/mcelog. When they do
that a fake machine check is triggered to test the machine check code.
This uses the MCE MSR wrappers added earlier.
The implementation is straight forward. There is a struct mce record
per CPU and the MCE MSR accesses get data from there if there is valid
data injected there. This allows to test the machine check code
relatively realistically because only the lowest layer of hardware
access is intercepted.
The test suite and injector are available at
git://git.kernel.org/pub/scm/utils/cpu/mce/mce-test.git
git://git.kernel.org/pub/scm/utils/cpu/mce/mce-inject.git
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.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/Kconfig')
-rw-r--r-- | arch/x86/Kconfig | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index a148e7ac0d83..e25b6358fbe3 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig | |||
@@ -835,6 +835,14 @@ config X86_MCE_THRESHOLD | |||
835 | bool | 835 | bool |
836 | default y | 836 | default y |
837 | 837 | ||
838 | config X86_MCE_INJECT | ||
839 | depends on X86_NEW_MCE | ||
840 | tristate "Machine check injector support" | ||
841 | ---help--- | ||
842 | Provide support for injecting machine checks for testing purposes. | ||
843 | If you don't know what a machine check is and you don't do kernel | ||
844 | QA it is safe to say n. | ||
845 | |||
838 | config X86_MCE_NONFATAL | 846 | config X86_MCE_NONFATAL |
839 | tristate "Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4" | 847 | tristate "Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4" |
840 | depends on X86_OLD_MCE | 848 | depends on X86_OLD_MCE |