aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/mce.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/include/asm/mce.h')
-rw-r--r--arch/x86/include/asm/mce.h36
1 files changed, 34 insertions, 2 deletions
diff --git a/arch/x86/include/asm/mce.h b/arch/x86/include/asm/mce.h
index 540a466e50f5..aae6fe2112f9 100644
--- a/arch/x86/include/asm/mce.h
+++ b/arch/x86/include/asm/mce.h
@@ -102,10 +102,42 @@ struct mce_log {
102 102
103#ifdef __KERNEL__ 103#ifdef __KERNEL__
104 104
105#include <linux/percpu.h>
106#include <linux/init.h>
107#include <asm/atomic.h>
108
105extern int mce_disabled; 109extern int mce_disabled;
106 110
107#include <asm/atomic.h> 111#ifdef CONFIG_X86_OLD_MCE
108#include <linux/percpu.h> 112void amd_mcheck_init(struct cpuinfo_x86 *c);
113void intel_p4_mcheck_init(struct cpuinfo_x86 *c);
114void intel_p6_mcheck_init(struct cpuinfo_x86 *c);
115#endif
116
117#ifdef CONFIG_X86_ANCIENT_MCE
118void intel_p5_mcheck_init(struct cpuinfo_x86 *c);
119void winchip_mcheck_init(struct cpuinfo_x86 *c);
120extern int mce_p5_enable;
121static inline int mce_p5_enabled(void) { return mce_p5_enable; }
122static inline void enable_p5_mce(void) { mce_p5_enable = 1; }
123#else
124static inline void intel_p5_mcheck_init(struct cpuinfo_x86 *c) {}
125static inline void winchip_mcheck_init(struct cpuinfo_x86 *c) {}
126static inline int mce_p5_enabled(void) { return 0; }
127static inline void enable_p5_mce(void) { }
128#endif
129
130/* Call the installed machine check handler for this CPU setup. */
131extern void (*machine_check_vector)(struct pt_regs *, long error_code);
132
133#ifdef CONFIG_X86_OLD_MCE
134extern int nr_mce_banks;
135extern void intel_set_thermal_handler(void);
136#else
137static inline void intel_set_thermal_handler(void) { }
138#endif
139
140void intel_init_thermal(struct cpuinfo_x86 *c);
109 141
110void mce_setup(struct mce *m); 142void mce_setup(struct mce *m);
111void mce_log(struct mce *m); 143void mce_log(struct mce *m);