提交 8c566ef5 编写于 作者: A Andi Kleen 提交者: Linus Torvalds

[PATCH] x86-64: Add command line option to set machine check tolerance level

Signed-off-by: NAndi Kleen <ak@suse.de>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 673242c1
...@@ -11,6 +11,11 @@ Machine check ...@@ -11,6 +11,11 @@ Machine check
If your BIOS doesn't do that it's a good idea to enable though If your BIOS doesn't do that it's a good idea to enable though
to make sure you log even machine check events that result to make sure you log even machine check events that result
in a reboot. in a reboot.
mce=tolerancelevel (number)
0: always panic, 1: panic if deadlock possible,
2: try to avoid panic, 3: never panic or exit (for testing)
default is 1
Can be also set using sysfs which is preferable.
nomce (for compatibility with i386): same as mce=off nomce (for compatibility with i386): same as mce=off
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#include <linux/fs.h> #include <linux/fs.h>
#include <linux/cpu.h> #include <linux/cpu.h>
#include <linux/percpu.h> #include <linux/percpu.h>
#include <linux/ctype.h>
#include <asm/processor.h> #include <asm/processor.h>
#include <asm/msr.h> #include <asm/msr.h>
#include <asm/mce.h> #include <asm/mce.h>
...@@ -489,6 +490,7 @@ static int __init mcheck_disable(char *str) ...@@ -489,6 +490,7 @@ static int __init mcheck_disable(char *str)
/* mce=off disables machine check. Note you can reenable it later /* mce=off disables machine check. Note you can reenable it later
using sysfs. using sysfs.
mce=TOLERANCELEVEL (number, see above)
mce=bootlog Log MCEs from before booting. Disabled by default to work mce=bootlog Log MCEs from before booting. Disabled by default to work
around buggy BIOS that leave bogus MCEs. */ around buggy BIOS that leave bogus MCEs. */
static int __init mcheck_enable(char *str) static int __init mcheck_enable(char *str)
...@@ -499,6 +501,8 @@ static int __init mcheck_enable(char *str) ...@@ -499,6 +501,8 @@ static int __init mcheck_enable(char *str)
mce_dont_init = 1; mce_dont_init = 1;
else if (!strcmp(str, "bootlog")) else if (!strcmp(str, "bootlog"))
mce_bootlog = 1; mce_bootlog = 1;
else if (isdigit(str[0]))
get_option(&str, &tolerant);
else else
printk("mce= argument %s ignored. Please use /sys", str); printk("mce= argument %s ignored. Please use /sys", str);
return 0; return 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册