lkml.org 
[lkml]   [2002]   [Jan]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[patch] typo in i386 machine check code
Our old PIII Xeons are dying, as shown by more frequent panics
due to bad hardware:

kernel: CPU 3: Machine Check Exception: 0000000000000007
kernel: Bank 0: b678600022000800 at 3678600022000800

The part after the "at" is supposed to be the memory address which
was being accessed when the fault was detected. Instead the code
prints out the status field again (with the high bit removed for
no apparent reason).

Patch is against 2.5.2.

-- Pete

--- linux/arch/i386/kernel/bluesmoke.c.orig Tue Jan 29 12:04:46 2002
+++ linux/arch/i386/kernel/bluesmoke.c Tue Jan 29 12:04:48 2002
@@ -40,21 +40,21 @@ static void intel_machine_check(struct p
high&=~(1<<31);
if(high&(1<<27))
{
rdmsr(MSR_IA32_MC0_MISC+i*4, alow, ahigh);
printk("[%08x%08x]", alow, ahigh);
}
if(high&(1<<26))
{
rdmsr(MSR_IA32_MC0_ADDR+i*4, alow, ahigh);
printk(" at %08x%08x",
- high, low);
+ ahigh, alow);
}
printk("\n");
/* Clear it */
wrmsr(MSR_IA32_MC0_STATUS+i*4, 0UL, 0UL);
/* Serialize */
wmb();
}
}

if(recover&2)
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
\
 
 \ /
  Last update: 2005-03-22 13:15    [W:0.230 / U:0.016 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site