diff options
author | Roland Dreier <rolandd@cisco.com> | 2005-11-07 03:58:12 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-11-07 10:53:26 -0500 |
commit | 41aace4fe81e3da52fa80b8380e5d2d084f77691 (patch) | |
tree | d98b965682efa0e940d9564eafdd8eb69e616ffe /arch/ppc/syslib/ibm44x_common.c | |
parent | fcc188e7fdddd8b23f900e485e6b3db05e7375f4 (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/ibm44x_common.c')
-rw-r--r-- | arch/ppc/syslib/ibm44x_common.c | 11 |
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 */ |
215 | void platform_machine_check(struct pt_regs *regs) | 215 | void 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)); |