diff options
author | Jacob Shin <jacob.shin@amd.com> | 2005-11-05 11:25:53 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-11-14 22:55:13 -0500 |
commit | 89b831ef8bf5cfbb357dbc0a2e07700d7f20eec5 (patch) | |
tree | 25118081599eab69bd20d1a1b34ba0f8f679f24f /include/asm-x86_64/mce.h | |
parent | 979edfadbae2286eec5b46143c00e81bca96498e (diff) |
[PATCH] x86_64: Support for AMD specific MCE Threshold.
MC4_MISC - DRAM Errors Threshold Register realized under AMD K8 Rev F.
This register is used to count correctable and uncorrectable ECC errors that occur during DRAM read operations.
The user may interface through sysfs files in order to change the threshold configuration.
bank%d/error_count - reads current error count, write to clear.
bank%d/interrupt_enable - set/clear interrupt enable.
bank%d/threshold_limit - read/write the threshold limit.
APIC vector 0xF9 in hw_irq.h.
5 software defined bank ids in mce.h.
new apic.c function to setup threshold apic lvt.
defaults to interrupt off, count enabled, and threshold limit max.
sysfs interface created on /sys/devices/system/threshold.
AK: added some ifdefs to make it compile on UP
Signed-off-by: Jacob Shin <jacob.shin@amd.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/asm-x86_64/mce.h')
-rw-r--r-- | include/asm-x86_64/mce.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/asm-x86_64/mce.h b/include/asm-x86_64/mce.h index 869249db6795..5d298b799a9f 100644 --- a/include/asm-x86_64/mce.h +++ b/include/asm-x86_64/mce.h | |||
@@ -67,6 +67,8 @@ struct mce_log { | |||
67 | /* Software defined banks */ | 67 | /* Software defined banks */ |
68 | #define MCE_EXTENDED_BANK 128 | 68 | #define MCE_EXTENDED_BANK 128 |
69 | #define MCE_THERMAL_BANK MCE_EXTENDED_BANK + 0 | 69 | #define MCE_THERMAL_BANK MCE_EXTENDED_BANK + 0 |
70 | #define MCE_THRESHOLD_BASE MCE_EXTENDED_BANK + 1 /* MCE_AMD */ | ||
71 | #define MCE_THRESHOLD_DRAM_ECC MCE_THRESHOLD_BASE + 4 | ||
70 | 72 | ||
71 | void mce_log(struct mce *m); | 73 | void mce_log(struct mce *m); |
72 | #ifdef CONFIG_X86_MCE_INTEL | 74 | #ifdef CONFIG_X86_MCE_INTEL |
@@ -77,4 +79,12 @@ static inline void mce_intel_feature_init(struct cpuinfo_x86 *c) | |||
77 | } | 79 | } |
78 | #endif | 80 | #endif |
79 | 81 | ||
82 | #ifdef CONFIG_X86_MCE_AMD | ||
83 | void mce_amd_feature_init(struct cpuinfo_x86 *c); | ||
84 | #else | ||
85 | static inline void mce_amd_feature_init(struct cpuinfo_x86 *c) | ||
86 | { | ||
87 | } | ||
88 | #endif | ||
89 | |||
80 | #endif | 90 | #endif |