diff options
Diffstat (limited to 'arch/x86/include/asm')
-rw-r--r-- | arch/x86/include/asm/mce.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/arch/x86/include/asm/mce.h b/arch/x86/include/asm/mce.h index 9b3de99dc004..1f5a86d518db 100644 --- a/arch/x86/include/asm/mce.h +++ b/arch/x86/include/asm/mce.h | |||
@@ -116,6 +116,12 @@ struct mca_config { | |||
116 | u32 rip_msr; | 116 | u32 rip_msr; |
117 | }; | 117 | }; |
118 | 118 | ||
119 | struct mce_vendor_flags { | ||
120 | __u64 overflow_recov : 1, /* cpuid_ebx(80000007) */ | ||
121 | __reserved_0 : 63; | ||
122 | }; | ||
123 | extern struct mce_vendor_flags mce_flags; | ||
124 | |||
119 | extern struct mca_config mca_cfg; | 125 | extern struct mca_config mca_cfg; |
120 | extern void mce_register_decode_chain(struct notifier_block *nb); | 126 | extern void mce_register_decode_chain(struct notifier_block *nb); |
121 | extern void mce_unregister_decode_chain(struct notifier_block *nb); | 127 | extern void mce_unregister_decode_chain(struct notifier_block *nb); |
@@ -128,9 +134,11 @@ extern int mce_p5_enabled; | |||
128 | #ifdef CONFIG_X86_MCE | 134 | #ifdef CONFIG_X86_MCE |
129 | int mcheck_init(void); | 135 | int mcheck_init(void); |
130 | void mcheck_cpu_init(struct cpuinfo_x86 *c); | 136 | void mcheck_cpu_init(struct cpuinfo_x86 *c); |
137 | void mcheck_vendor_init_severity(void); | ||
131 | #else | 138 | #else |
132 | static inline int mcheck_init(void) { return 0; } | 139 | static inline int mcheck_init(void) { return 0; } |
133 | static inline void mcheck_cpu_init(struct cpuinfo_x86 *c) {} | 140 | static inline void mcheck_cpu_init(struct cpuinfo_x86 *c) {} |
141 | static inline void mcheck_vendor_init_severity(void) {} | ||
134 | #endif | 142 | #endif |
135 | 143 | ||
136 | #ifdef CONFIG_X86_ANCIENT_MCE | 144 | #ifdef CONFIG_X86_ANCIENT_MCE |
@@ -183,11 +191,11 @@ typedef DECLARE_BITMAP(mce_banks_t, MAX_NR_BANKS); | |||
183 | DECLARE_PER_CPU(mce_banks_t, mce_poll_banks); | 191 | DECLARE_PER_CPU(mce_banks_t, mce_poll_banks); |
184 | 192 | ||
185 | enum mcp_flags { | 193 | enum mcp_flags { |
186 | MCP_TIMESTAMP = (1 << 0), /* log time stamp */ | 194 | MCP_TIMESTAMP = BIT(0), /* log time stamp */ |
187 | MCP_UC = (1 << 1), /* log uncorrected errors */ | 195 | MCP_UC = BIT(1), /* log uncorrected errors */ |
188 | MCP_DONTLOG = (1 << 2), /* only clear, don't log */ | 196 | MCP_DONTLOG = BIT(2), /* only clear, don't log */ |
189 | }; | 197 | }; |
190 | void machine_check_poll(enum mcp_flags flags, mce_banks_t *b); | 198 | bool machine_check_poll(enum mcp_flags flags, mce_banks_t *b); |
191 | 199 | ||
192 | int mce_notify_irq(void); | 200 | int mce_notify_irq(void); |
193 | 201 | ||