|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] [POWERPC][XEN] Add newlines on multiline
# HG changeset patch
# User Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
# Node ID fd79d6295111cda53b2709ee5a88bd932a2dd7fb
# Parent 6486bc1937a420379b931a3c1e7b12169502dbbc
[POWERPC][XEN] Add newlines on multiline output and dump SLB on SLB errors
Signed-off-by: Jimi Xenidis <jimix@xxxxxxxxxxxxxx>
Signed-off-by: Hollis Blanchard <hollisb@xxxxxxxxxx>
---
xen/arch/powerpc/powerpc64/ppc970_machinecheck.c | 66 ++++++++++++-----------
1 files changed, 35 insertions(+), 31 deletions(-)
diff -r 6486bc1937a4 -r fd79d6295111
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-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] [POWERPC][XEN] Add newlines on multiline output and dump SLB on SLB errors,
Xen patchbot-unstable <=
|
|
|
|
|