aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/cpu/mcheck/mce.c
diff options
context:
space:
mode:
authorAndi Kleen <andi@firstfloor.org>2009-05-27 15:56:56 -0400
committerH. Peter Anvin <hpa@zytor.com>2009-06-03 17:40:38 -0400
commitd620c67fb92aa11736112f9a03e31d8e3079c57a (patch)
treead624a23926c1cadaa577b36f8eb57f4de055bc0 /arch/x86/kernel/cpu/mcheck/mce.c
parentf6fb0ac0869500323c78fa21992fe1933af61e91 (diff)
x86, mce: support more than 256 CPUs in struct mce
The old struct mce had a limitation to 256 CPUs. But x86 Linux supports more than that now with x2apic. Add a new field extcpu to report the extended number. Signed-off-by: Andi Kleen <ak@linux.intel.com> Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch/x86/kernel/cpu/mcheck/mce.c')
-rw-r--r--arch/x86/kernel/cpu/mcheck/mce.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/kernel/cpu/mcheck/mce.c b/arch/x86/kernel/cpu/mcheck/mce.c
index 3db047e7a0fb..2c4dd6c422c3 100644
--- a/arch/x86/kernel/cpu/mcheck/mce.c
+++ b/arch/x86/kernel/cpu/mcheck/mce.c
@@ -94,7 +94,7 @@ static inline int skip_bank_init(int i)
94void mce_setup(struct mce *m) 94void mce_setup(struct mce *m)
95{ 95{
96 memset(m, 0, sizeof(struct mce)); 96 memset(m, 0, sizeof(struct mce));
97 m->cpu = smp_processor_id(); 97 m->cpu = m->extcpu = smp_processor_id();
98 rdtscll(m->tsc); 98 rdtscll(m->tsc);
99} 99}
100 100
@@ -158,7 +158,7 @@ static void print_mce(struct mce *m)
158 KERN_EMERG "HARDWARE ERROR\n" 158 KERN_EMERG "HARDWARE ERROR\n"
159 KERN_EMERG 159 KERN_EMERG
160 "CPU %d: Machine Check Exception: %16Lx Bank %d: %016Lx\n", 160 "CPU %d: Machine Check Exception: %16Lx Bank %d: %016Lx\n",
161 m->cpu, m->mcgstatus, m->bank, m->status); 161 m->extcpu, m->mcgstatus, m->bank, m->status);
162 if (m->ip) { 162 if (m->ip) {
163 printk(KERN_EMERG "RIP%s %02x:<%016Lx> ", 163 printk(KERN_EMERG "RIP%s %02x:<%016Lx> ",
164 !(m->mcgstatus & MCG_STATUS_EIPV) ? " !INEXACT!" : "", 164 !(m->mcgstatus & MCG_STATUS_EIPV) ? " !INEXACT!" : "",