WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ppc-devel

[XenPPC] [xenppc-unstable] [POWERPC][XEN] Add newlines on multiline outp

To: xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
Subject: [XenPPC] [xenppc-unstable] [POWERPC][XEN] Add newlines on multiline output and dump SLB on SLB errors
From: Xen patchbot-xenppc-unstable <patchbot-xenppc-unstable@xxxxxxxxxxxxxxxxxxx>
Date: Fri, 15 Sep 2006 22:50:33 +0000
Delivery-date: Sat, 16 Sep 2006 06:38:24 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ppc-devel-request@lists.xensource.com?subject=help>
List-id: Xen PPC development <xen-ppc-devel.lists.xensource.com>
List-post: <mailto:xen-ppc-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ppc-devel>, <mailto:xen-ppc-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ppc-devel>, <mailto:xen-ppc-devel-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-ppc-devel-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
# Node ID 1d9c135673e4db41789d730d843c9e5f8de3a4eb
# Parent  2d41938a5599faf3b03c74b04e353b9aef1c9a9c
[POWERPC][XEN] Add newlines on multiline output and dump SLB on SLB errors

Signed-off-by: Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
---
 xen/arch/powerpc/powerpc64/ppc970_machinecheck.c |   66 ++++++++++++-----------
 1 files changed, 35 insertions(+), 31 deletions(-)

diff -r 2d41938a5599 -r 1d9c135673e4 
xen/arch/powerpc/powerpc64/ppc970_machinecheck.c
--- a/xen/arch/powerpc/powerpc64/ppc970_machinecheck.c  Fri Sep 15 18:19:46 
2006 -0400
+++ b/xen/arch/powerpc/powerpc64/ppc970_machinecheck.c  Fri Sep 15 18:20:55 
2006 -0400
@@ -56,61 +56,65 @@ int cpu_machinecheck(struct cpu_user_reg
 
     printk("SRR1: 0x%016lx\n", regs->msr);
     if (regs->msr & MCK_SRR1_INSN_FETCH_UNIT)
-        printk("42: Exception caused by Instruction Fetch Unit (IFU) "
-               "detection of a hardware uncorrectable error (UE).\n");
+        printk("42: Exception caused by Instruction Fetch Unit (IFU)\n"
+               "    detection of a hardware uncorrectable error (UE).\n");
 
     if (regs->msr & MCK_SRR1_LOAD_STORE)
-        printk("43: Exception caused by load/store detection of error "
-               "(see DSISR)\n");
+        printk("43: Exception caused by load/store detection of error\n"
+               "    (see DSISR)\n");
 
     switch (regs->msr & MCK_SRR1_CAUSE_MASK) {
+    case 0:
+        printk("0b00: Likely caused by an asynchronous machine check,\n"
+               "see SCOM Asynchronous Machine Check Register\n");
+        break;
     case MCK_SRR1_CAUSE_SLB_PAR:
-        printk("0b01: Exception caused by an SLB parity error detected "
-               "while translating an instruction fetch address.\n");
+        printk("0b01: Exception caused by an SLB parity error detected\n"
+               "      while translating an instruction fetch address.\n");
         break;
     case MCK_SRR1_CAUSE_TLB_PAR:
-        printk("0b10: Exception caused by a TLB parity error detected "
-               "while translating an instruction fetch address.\n");
+        printk("0b10: Exception caused by a TLB parity error detected\n"
+               "      while translating an instruction fetch address.\n");
         break;
     case MCK_SRR1_CAUSE_UE:
-        printk("0b11: Exception caused by a hardware uncorrectable "
-               "error (UE) detected while doing a reload of an "
-               "instruction-fetch TLB tablewalk.\n");
-        break;
-    default:
+        printk("0b11: Exception caused by a hardware uncorrectable\n"
+               "      error (UE) detected while doing a reload of an\n"
+               "      instruction-fetch TLB tablewalk.\n");
         break;
     }
 
-    printk("\nDSIDR: 0x%08x\n", dsisr);
+    printk("\nDSISR: 0x%08x\n", dsisr);
     if (dsisr & MCK_DSISR_UE)
-        printk("16: Exception caused by a UE deferred error "
-               "(DAR is undefined).\n");
+        printk("16: Exception caused by a UE deferred error\n"
+               "    (DAR is undefined).\n");
     
     if (dsisr & MCK_DSISR_UE_TABLE_WALK)
-        printk("17: Exception caused by a UE deferred error "
-               "during a tablewalk (D-side).\n"); 
+        printk("17: Exception caused by a UE deferred error\n"
+               "    during a tablewalk (D-side).\n"); 
 
     if (dsisr & MCK_DSISR_L1_DCACHE_PAR)
-        printk("18: Exception was caused by a software recoverable "
-               "parity error in the L1 D-cache.\n");
+        printk("18: Exception was caused by a software recoverable\n"
+               "    parity error in the L1 D-cache.\n");
 
     if (dsisr & MCK_DSISR_L1_DCACHE_TAG_PAR)
-        printk("19: Exception was caused by a software recoverable "
-               "parity error in the L1 D-cache tag.\n");
+        printk("19: Exception was caused by a software recoverable\n"
+               "    parity error in the L1 D-cache tag.\n");
 
     if (dsisr & MCK_DSISR_D_ERAT_PAR)
-        printk("20: Exception was caused by a software recoverable parity "
-               "error in the D-ERAT.\n");
+        printk("20: Exception was caused by a software recoverable parity\n"
+               "    error in the D-ERAT.\n");
         
     if (dsisr & MCK_DSISR_TLB_PAR)
-        printk("21: Exception was caused by a software recoverable parity "
-               "error in the TLB.\n");
+        printk("21: Exception was caused by a software recoverable parity\n"
+               "    error in the TLB.\n");
 
-    if (dsisr & MCK_DSISR_SLB_PAR)
-        printk("23: Exception was caused by an SLB parity error (may not be "
-               "recoverable). This condition could occur if the "
-               "effective segment ID (ESID) fields of two or more SLB "
-               "entries contain the same value.");
+    if (dsisr & MCK_DSISR_SLB_PAR) {
+        printk("23: Exception was caused by an SLB parity error (may not be\n"
+               "    recoverable). This condition could occur if the\n"
+               "    effective segment ID (ESID) fields of two or more SLB\n"
+               "    entries contain the same value.\n");
+        dump_segments(0);
+    }
 
     return 0; /* for now lets not recover; */
 }

_______________________________________________
Xen-ppc-devel mailing list
Xen-ppc-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ppc-devel

<Prev in Thread] Current Thread [Next in Thread>
  • [XenPPC] [xenppc-unstable] [POWERPC][XEN] Add newlines on multiline output and dump SLB on SLB errors, Xen patchbot-xenppc-unstable <=