Re: MCA UNCOR error

From: John Baldwin <jhb_at_freebsd.org>
Date: Tue, 14 Feb 2012 09:09:33 -0500
On Tuesday, February 14, 2012 7:57:50 am TAKAHASHI Yoshihiro wrote:
> In article <201202131308.48171.jhb_at_freebsd.org>
> John Baldwin <jhb_at_freebsd.org> writes:
> 
> > On Sunday, February 12, 2012 4:55:49 am TAKAHASHI Yoshihiro wrote:
> >> I get the following error and kernel panic on my pc98 at the boot time.
> >> 
> >> MCA: Bank 2, Status 0xb600000000140000
> >> MCA: Global Cap 0x0000000000000005, Status 0x0000000000000004
> >> MCA: Vendor "GenuineIntel", ID 0x616, APIC ID 0
> >> MCA: CPU 0 UNCOR PCC no error
> >> MCA: Address 0x3446ff003446ff
> >> 
> >> When I disable MCA with hw.mca.enabled=0 on loader prompt, the machine
> >> works fine.  Does it mean my pc98 is broken?  Or other isssue?
> >> 
> >> It's spec is:
> >> 
> >> FreeBSD 10.0-CURRENT #5: Thu Feb  9 13:18:22 UTC 2012
> >> CPU: Pentium Pro (198.95-MHz 686-class CPU)
> >>   Origin = "GenuineIntel"  Id = 0x616  Family = 6  Model = 1  Stepping = 6
> >>   Features=0xf9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV>
> >> real memory  = 134217728 (128 MB)
> >> avail memory = 120471552 (114 MB)
> > 
> > Interesting, that is odd to get an error with no error code.
> > 
> > Can you tell from the stack trace if your CPU actually raised a machine check 
> > exception (trap 28)?
> 
> I tested with debugger enabled kernel.
> Please get from:
> http://home.jp.freebsd.org/~nyan/mca-error1.jpg
> http://home.jp.freebsd.org/~nyan/mca-error2.jpg
> (Sorry for jpeg images)

Humm.  Try this:

Index: x86/x86/mca.c
===================================================================
--- mca.c	(revision 231678)
+++ mca.c	(working copy)
_at__at_ -548,7 +548,12 _at__at_ mca_scan(enum scan_mode mode)
 		valid = mca_check_status(i, &rec);
 		if (valid) {
 			count++;
-			if (rec.mr_status & ucmask) {
+			/*
+			 * Don't treat records that do not specify an
+			 * error as unrecoverable.
+			 */
+			if ((rec.mr_status & MC_STATUS_MCA_ERROR) != 0 &&
+			    rec.mr_status & ucmask) {
 				recoverable = 0;
 				mca_log(&rec);
 			}

-- 
John Baldwin
Received on Tue Feb 14 2012 - 13:09:36 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:24 UTC