diff options
Diffstat (limited to 'arch/x86/include/asm/mce.h')
-rw-r--r-- | arch/x86/include/asm/mce.h | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/arch/x86/include/asm/mce.h b/arch/x86/include/asm/mce.h index 021979a6e23f..c9321f34e55b 100644 --- a/arch/x86/include/asm/mce.h +++ b/arch/x86/include/asm/mce.h | |||
@@ -8,6 +8,7 @@ | |||
8 | * Machine Check support for x86 | 8 | * Machine Check support for x86 |
9 | */ | 9 | */ |
10 | 10 | ||
11 | /* MCG_CAP register defines */ | ||
11 | #define MCG_BANKCNT_MASK 0xff /* Number of Banks */ | 12 | #define MCG_BANKCNT_MASK 0xff /* Number of Banks */ |
12 | #define MCG_CTL_P (1ULL<<8) /* MCG_CTL register available */ | 13 | #define MCG_CTL_P (1ULL<<8) /* MCG_CTL register available */ |
13 | #define MCG_EXT_P (1ULL<<9) /* Extended registers available */ | 14 | #define MCG_EXT_P (1ULL<<9) /* Extended registers available */ |
@@ -17,10 +18,12 @@ | |||
17 | #define MCG_EXT_CNT(c) (((c) & MCG_EXT_CNT_MASK) >> MCG_EXT_CNT_SHIFT) | 18 | #define MCG_EXT_CNT(c) (((c) & MCG_EXT_CNT_MASK) >> MCG_EXT_CNT_SHIFT) |
18 | #define MCG_SER_P (1ULL<<24) /* MCA recovery/new status bits */ | 19 | #define MCG_SER_P (1ULL<<24) /* MCA recovery/new status bits */ |
19 | 20 | ||
21 | /* MCG_STATUS register defines */ | ||
20 | #define MCG_STATUS_RIPV (1ULL<<0) /* restart ip valid */ | 22 | #define MCG_STATUS_RIPV (1ULL<<0) /* restart ip valid */ |
21 | #define MCG_STATUS_EIPV (1ULL<<1) /* ip points to correct instruction */ | 23 | #define MCG_STATUS_EIPV (1ULL<<1) /* ip points to correct instruction */ |
22 | #define MCG_STATUS_MCIP (1ULL<<2) /* machine check in progress */ | 24 | #define MCG_STATUS_MCIP (1ULL<<2) /* machine check in progress */ |
23 | 25 | ||
26 | /* MCi_STATUS register defines */ | ||
24 | #define MCI_STATUS_VAL (1ULL<<63) /* valid error */ | 27 | #define MCI_STATUS_VAL (1ULL<<63) /* valid error */ |
25 | #define MCI_STATUS_OVER (1ULL<<62) /* previous errors lost */ | 28 | #define MCI_STATUS_OVER (1ULL<<62) /* previous errors lost */ |
26 | #define MCI_STATUS_UC (1ULL<<61) /* uncorrected error */ | 29 | #define MCI_STATUS_UC (1ULL<<61) /* uncorrected error */ |
@@ -31,12 +34,14 @@ | |||
31 | #define MCI_STATUS_S (1ULL<<56) /* Signaled machine check */ | 34 | #define MCI_STATUS_S (1ULL<<56) /* Signaled machine check */ |
32 | #define MCI_STATUS_AR (1ULL<<55) /* Action required */ | 35 | #define MCI_STATUS_AR (1ULL<<55) /* Action required */ |
33 | 36 | ||
34 | /* MISC register defines */ | 37 | /* MCi_MISC register defines */ |
35 | #define MCM_ADDR_SEGOFF 0 /* segment offset */ | 38 | #define MCI_MISC_ADDR_LSB(m) ((m) & 0x3f) |
36 | #define MCM_ADDR_LINEAR 1 /* linear address */ | 39 | #define MCI_MISC_ADDR_MODE(m) (((m) >> 6) & 7) |
37 | #define MCM_ADDR_PHYS 2 /* physical address */ | 40 | #define MCI_MISC_ADDR_SEGOFF 0 /* segment offset */ |
38 | #define MCM_ADDR_MEM 3 /* memory address */ | 41 | #define MCI_MISC_ADDR_LINEAR 1 /* linear address */ |
39 | #define MCM_ADDR_GENERIC 7 /* generic */ | 42 | #define MCI_MISC_ADDR_PHYS 2 /* physical address */ |
43 | #define MCI_MISC_ADDR_MEM 3 /* memory address */ | ||
44 | #define MCI_MISC_ADDR_GENERIC 7 /* generic */ | ||
40 | 45 | ||
41 | /* CTL2 register defines */ | 46 | /* CTL2 register defines */ |
42 | #define MCI_CTL2_CMCI_EN (1ULL << 30) | 47 | #define MCI_CTL2_CMCI_EN (1ULL << 30) |
@@ -119,7 +124,7 @@ extern struct atomic_notifier_head x86_mce_decoder_chain; | |||
119 | 124 | ||
120 | #include <linux/percpu.h> | 125 | #include <linux/percpu.h> |
121 | #include <linux/init.h> | 126 | #include <linux/init.h> |
122 | #include <asm/atomic.h> | 127 | #include <linux/atomic.h> |
123 | 128 | ||
124 | extern int mce_disabled; | 129 | extern int mce_disabled; |
125 | extern int mce_p5_enabled; | 130 | extern int mce_p5_enabled; |
@@ -144,7 +149,7 @@ static inline void enable_p5_mce(void) {} | |||
144 | 149 | ||
145 | void mce_setup(struct mce *m); | 150 | void mce_setup(struct mce *m); |
146 | void mce_log(struct mce *m); | 151 | void mce_log(struct mce *m); |
147 | DECLARE_PER_CPU(struct sys_device, mce_dev); | 152 | DECLARE_PER_CPU(struct sys_device, mce_sysdev); |
148 | 153 | ||
149 | /* | 154 | /* |
150 | * Maximum banks number. | 155 | * Maximum banks number. |