[PATCH] x86_64 MCE handling

From: Marc Bevand
Date: Mon Apr 05 2004 - 04:02:06 EST


The attached patch fixes some x86_64 Machine Check Exceptions handling code.
It should apply cleanly to 2.6.5-rc3 or later.

--
Marc Bevand
--- linux-2.6.5-rc3-libata2-speed/arch/x86_64/kernel/mce.c.orig 2004-04-04 23:13:09.263001424 +0200
+++ linux-2.6.5-rc3-libata2-speed/arch/x86_64/kernel/mce.c 2004-04-04 23:23:47.269600248 +0200
@@ -85,7 +85,7 @@
if (m->addr)
printk("ADDR %Lx ", m->addr);
if (m->misc)
- printk("MISC %Lx ", m->addr);
+ printk("MISC %Lx ", m->misc);
printk("\n");
}

@@ -160,7 +160,7 @@
if (m.status & MCI_STATUS_MISCV)
rdmsrl(MSR_IA32_MC0_MISC + i*4, m.misc);
if (m.status & MCI_STATUS_ADDRV)
- rdmsrl(MSR_IA32_MC0_MISC + i*4, m.addr);
+ rdmsrl(MSR_IA32_MC0_ADDR + i*4, m.addr);

rdtscll(m.tsc);
wrmsrl(MSR_IA32_MC0_STATUS + i*4, 0);