aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ppc/syslib
diff options
context:
space:
mode:
authorRoland Dreier <rolandd@cisco.com>2005-11-07 03:58:12 -0500
committerLinus Torvalds <torvalds@g5.osdl.org>2005-11-07 10:53:26 -0500
commit41aace4fe81e3da52fa80b8380e5d2d084f77691 (patch)
treed98b965682efa0e940d9564eafdd8eb69e616ffe /arch/ppc/syslib
parentfcc188e7fdddd8b23f900e485e6b3db05e7375f4 (diff)
[PATCH] ppc32: Dump error status for both PLB segments on 440SP
The PowerPC 440SP SoC has two Processor Local Bus (PLB) segments (a high-throughput segment and a low-latency segment). Fix our PLB register definitions to cope with this, and add code to dump the status of both segments when a machine check occurs. Signed-off-by: Roland Dreier <rolandd@cisco.com> Cc: Matt Porter <mporter@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/ppc/syslib')
-rw-r--r--arch/ppc/syslib/ibm44x_common.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/arch/ppc/syslib/ibm44x_common.c b/arch/ppc/syslib/ibm44x_common.c
index 5152c8e41340..ebae2e2fcea6 100644
--- a/arch/ppc/syslib/ibm44x_common.c
+++ b/arch/ppc/syslib/ibm44x_common.c
@@ -214,9 +214,20 @@ void __init ibm44x_platform_init(unsigned long r3, unsigned long r4, unsigned lo
214/* Called from machine_check_exception */ 214/* Called from machine_check_exception */
215void platform_machine_check(struct pt_regs *regs) 215void platform_machine_check(struct pt_regs *regs)
216{ 216{
217#ifdef CONFIG_440SP
218 printk("PLB0: BEAR=0x%08x%08x ACR= 0x%08x BESR= 0x%08x%08x\n",
219 mfdcr(DCRN_PLB0_BEARH), mfdcr(DCRN_PLB0_BEARL),
220 mfdcr(DCRN_PLB0_ACR), mfdcr(DCRN_PLB0_BESRH),
221 mfdcr(DCRN_PLB0_BESRL));
222 printk("PLB1: BEAR=0x%08x%08x ACR= 0x%08x BESR= 0x%08x%08x\n",
223 mfdcr(DCRN_PLB1_BEARH), mfdcr(DCRN_PLB1_BEARL),
224 mfdcr(DCRN_PLB1_ACR), mfdcr(DCRN_PLB1_BESRH),
225 mfdcr(DCRN_PLB1_BESRL));
226#else
217 printk("PLB0: BEAR=0x%08x%08x ACR= 0x%08x BESR= 0x%08x\n", 227 printk("PLB0: BEAR=0x%08x%08x ACR= 0x%08x BESR= 0x%08x\n",
218 mfdcr(DCRN_PLB0_BEARH), mfdcr(DCRN_PLB0_BEARL), 228 mfdcr(DCRN_PLB0_BEARH), mfdcr(DCRN_PLB0_BEARL),
219 mfdcr(DCRN_PLB0_ACR), mfdcr(DCRN_PLB0_BESR)); 229 mfdcr(DCRN_PLB0_ACR), mfdcr(DCRN_PLB0_BESR));
230#endif
220 printk("POB0: BEAR=0x%08x%08x BESR0=0x%08x BESR1=0x%08x\n", 231 printk("POB0: BEAR=0x%08x%08x BESR0=0x%08x BESR1=0x%08x\n",
221 mfdcr(DCRN_POB0_BEARH), mfdcr(DCRN_POB0_BEARL), 232 mfdcr(DCRN_POB0_BEARH), mfdcr(DCRN_POB0_BEARL),
222 mfdcr(DCRN_POB0_BESR0), mfdcr(DCRN_POB0_BESR1)); 233 mfdcr(DCRN_POB0_BESR0), mfdcr(DCRN_POB0_BESR1));