diff options
author | Andi Kleen <andi@firstfloor.org> | 2009-07-08 18:31:43 -0400 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2009-07-09 21:39:47 -0400 |
commit | cebe182033f156b430952370fb0f9dbe6e89b081 (patch) | |
tree | 21afc7228fa12c243f29b45ac670f9a9df2f4701 /arch/x86/kernel/cpu/mcheck/mce-internal.h | |
parent | 9eda8cb3ac235217e4ffa01cb9cedee1c1550599 (diff) |
x86: mce: Move per bank data in a single datastructure
This addresses one of the leftover review comments.
Move the per bank data into a single structure. This avoids
several separate variables and also separate allocation of sysfs objects.
I didn't move the CMCI ownership information so far because
that would have needed some non trivial changes in the algorithms.
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch/x86/kernel/cpu/mcheck/mce-internal.h')
-rw-r--r-- | arch/x86/kernel/cpu/mcheck/mce-internal.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/x86/kernel/cpu/mcheck/mce-internal.h b/arch/x86/kernel/cpu/mcheck/mce-internal.h index 54dcb8ff12e5..6bd51e7ba87b 100644 --- a/arch/x86/kernel/cpu/mcheck/mce-internal.h +++ b/arch/x86/kernel/cpu/mcheck/mce-internal.h | |||
@@ -1,3 +1,4 @@ | |||
1 | #include <linux/sysdev.h> | ||
1 | #include <asm/mce.h> | 2 | #include <asm/mce.h> |
2 | 3 | ||
3 | enum severity_level { | 4 | enum severity_level { |
@@ -10,6 +11,19 @@ enum severity_level { | |||
10 | MCE_PANIC_SEVERITY, | 11 | MCE_PANIC_SEVERITY, |
11 | }; | 12 | }; |
12 | 13 | ||
14 | #define ATTR_LEN 16 | ||
15 | |||
16 | /* One object for each MCE bank, shared by all CPUs */ | ||
17 | struct mce_bank { | ||
18 | u64 ctl; /* subevents to enable */ | ||
19 | unsigned char init; /* initialise bank? */ | ||
20 | struct sysdev_attribute attr; /* sysdev attribute */ | ||
21 | char attrname[ATTR_LEN]; /* attribute name */ | ||
22 | }; | ||
23 | |||
13 | int mce_severity(struct mce *a, int tolerant, char **msg); | 24 | int mce_severity(struct mce *a, int tolerant, char **msg); |
14 | 25 | ||
15 | extern int mce_ser; | 26 | extern int mce_ser; |
27 | |||
28 | extern struct mce_bank *mce_banks; | ||
29 | |||