aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-12-14 12:59:59 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2012-12-14 12:59:59 -0500
commit2d9c8b5d6a5f5f7a6111cc68a050b5b44729376b (patch)
tree9382e643df9d4115637ca320822702bb06130c1f /arch/x86/include/asm
parent17bc14b767cf0692420c43dbe5310ae98a5a7836 (diff)
parent003db633d6f2d3649ea18652a3c55ad17d4f0e47 (diff)
Merge branch 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull x86 RAS update from Ingo Molnar: "Rework all config variables used throughout the MCA code and collect them together into a mca_config struct. This keeps them tightly and neatly packed together instead of spilled all over the place. Then, convert those which are used as booleans into real booleans and save some space. These bits are exposed via /sys/devices/system/machinecheck/machinecheck*/" * 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86, MCA: Finish mca_config conversion x86, MCA: Convert the next three variables batch x86, MCA: Convert rip_msr, mce_bootlog, monarch_timeout x86, MCA: Convert dont_log_ce, banks and tolerant drivers/base: Add a DEVICE_BOOL_ATTR macro
Diffstat (limited to 'arch/x86/include/asm')
-rw-r--r--arch/x86/include/asm/mce.h21
1 files changed, 17 insertions, 4 deletions
diff --git a/arch/x86/include/asm/mce.h b/arch/x86/include/asm/mce.h
index 54d73b1f00a0..d90c2fccc30c 100644
--- a/arch/x86/include/asm/mce.h
+++ b/arch/x86/include/asm/mce.h
@@ -119,6 +119,23 @@ struct mce_log {
119#define K8_MCE_THRESHOLD_BASE (MCE_EXTENDED_BANK + 1) 119#define K8_MCE_THRESHOLD_BASE (MCE_EXTENDED_BANK + 1)
120 120
121#ifdef __KERNEL__ 121#ifdef __KERNEL__
122
123struct mca_config {
124 bool dont_log_ce;
125 bool cmci_disabled;
126 bool ignore_ce;
127 bool disabled;
128 bool ser;
129 bool bios_cmci_threshold;
130 u8 banks;
131 s8 bootlog;
132 int tolerant;
133 int monarch_timeout;
134 int panic_timeout;
135 u32 rip_msr;
136};
137
138extern struct mca_config mca_cfg;
122extern void mce_register_decode_chain(struct notifier_block *nb); 139extern void mce_register_decode_chain(struct notifier_block *nb);
123extern void mce_unregister_decode_chain(struct notifier_block *nb); 140extern void mce_unregister_decode_chain(struct notifier_block *nb);
124 141
@@ -126,7 +143,6 @@ extern void mce_unregister_decode_chain(struct notifier_block *nb);
126#include <linux/init.h> 143#include <linux/init.h>
127#include <linux/atomic.h> 144#include <linux/atomic.h>
128 145
129extern int mce_disabled;
130extern int mce_p5_enabled; 146extern int mce_p5_enabled;
131 147
132#ifdef CONFIG_X86_MCE 148#ifdef CONFIG_X86_MCE
@@ -159,9 +175,6 @@ DECLARE_PER_CPU(struct device *, mce_device);
159#define MAX_NR_BANKS 32 175#define MAX_NR_BANKS 32
160 176
161#ifdef CONFIG_X86_MCE_INTEL 177#ifdef CONFIG_X86_MCE_INTEL
162extern int mce_cmci_disabled;
163extern int mce_ignore_ce;
164extern int mce_bios_cmci_threshold;
165void mce_intel_feature_init(struct cpuinfo_x86 *c); 178void mce_intel_feature_init(struct cpuinfo_x86 *c);
166void cmci_clear(void); 179void cmci_clear(void);
167void cmci_reenable(void); 180void cmci_reenable(void);