From: Olof Johansson <olof@lixom•net>
To: Paul Mackerras <paulus@samba•org>
Cc: linuxppc-dev@ozlabs•org
Subject: [PATCH] [3/9] pasemi: Machine check handler
Date: Thu, 01 Feb 2007 22:54:51 -0600 [thread overview]
Message-ID: <20070202045508.119282000@lixom.net> (raw)
In-Reply-To: 20070202045448.145851000@lixom.net
Print out decoded machine check information on PA6T.
Signed-off-by: Olof Johansson <olof@lixom•net>
Index: merge/arch/powerpc/platforms/pasemi/setup.c
===================================================================
--- merge.orig/arch/powerpc/platforms/pasemi/setup.c
+++ merge/arch/powerpc/platforms/pasemi/setup.c
@@ -156,6 +156,48 @@ static void __init pas_progress(char *s,
}
+static int pas_machine_check_handler(struct pt_regs *regs)
+{
+ int cpu = smp_processor_id();
+ unsigned long srr0, srr1, dsisr;
+
+ srr0 = regs->nip;
+ srr1 = regs->msr;
+ dsisr = mfspr(SPRN_DSISR);
+ printk(KERN_ERR "Machine Check on CPU %d\n", cpu);
+ printk(KERN_ERR "SRR0 0x%016lx SRR1 0x%016lx\n", srr0, srr1);
+ printk(KERN_ERR "DSISR 0x%016lx DAR 0x%016lx\n", dsisr, regs->dar);
+ printk(KERN_ERR "Cause:\n");
+
+ if (srr1 & 0x200000)
+ printk(KERN_ERR "Signalled by SDC\n");
+ if (srr1 & 0x100000) {
+ printk(KERN_ERR "Load/Store detected error:\n");
+ if (dsisr & 0x8000)
+ printk(KERN_ERR "D-cache ECC double-bit error or bus error\n");
+ if (dsisr & 0x4000)
+ printk(KERN_ERR "LSU snoop response error\n");
+ if (dsisr & 0x2000)
+ printk(KERN_ERR "MMU SLB multi-hit or invalid B field\n");
+ if (dsisr & 0x1000)
+ printk(KERN_ERR "Recoverable Duptags\n");
+ if (dsisr & 0x800)
+ printk(KERN_ERR "Recoverable D-cache parity error count overflow\n");
+ if (dsisr & 0x400)
+ printk(KERN_ERR "TLB parity error count overflow\n");
+ }
+ if (srr1 & 0x80000)
+ printk(KERN_ERR "Bus Error\n");
+ if (srr1 & 0x40000)
+ printk(KERN_ERR "I-side SLB multiple hit\n");
+ if (srr1 & 0x20000)
+ printk(KERN_ERR "I-cache parity error hit\n");
+
+ /* SRR1[62] is from MSR[62] if recoverable, so pass that back */
+ return !!(srr1 & 0x2);
+}
+
+
/*
* Called very early, MMU is off, device-tree isn't unflattened
*/
@@ -184,4 +226,5 @@ define_machine(pas) {
.calibrate_decr = generic_calibrate_decr,
.check_legacy_ioport = pas_check_legacy_ioport,
.progress = pas_progress,
+ .machine_check_exception = pas_machine_check_handler,
};
--
next prev parent reply other threads:[~2007-02-02 5:04 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-02-02 4:54 [PATCH] [0/9] PA Semi patches Olof Johansson
2007-02-02 4:54 ` [PATCH] [1/9] pasemi: Default root device Olof Johansson
2007-02-02 22:28 ` Geoff Levand
2007-02-04 22:18 ` Olof Johansson
2007-02-04 22:37 ` Olof Johansson
2007-02-02 4:54 ` [PATCH] [2/9] pasemi: UART udbg support Olof Johansson
2007-02-02 4:54 ` Olof Johansson [this message]
2007-02-04 23:49 ` [PATCH] [3/9] pasemi: Machine check handler Benjamin Herrenschmidt
2007-02-05 4:19 ` Olof Johansson
2007-02-02 4:54 ` [PATCH] [4/9] pasemi: Idle loops Olof Johansson
2007-02-03 8:27 ` Arnd Bergmann
2007-02-04 22:25 ` Olof Johansson
2007-02-02 4:54 ` [PATCH] [5/9] pasemi: Implement restart Olof Johansson
2007-02-02 6:07 ` Kumar Gala
2007-02-02 18:46 ` Olof Johansson
2007-02-02 4:54 ` [PATCH] [6/9] pasemi: SMP timebase sync Olof Johansson
2007-02-02 4:54 ` [PATCH] [7/9] pasemi: Configure DMA controller interrupts Olof Johansson
2007-02-04 23:53 ` Benjamin Herrenschmidt
2007-02-05 4:52 ` Olof Johansson
2007-02-02 4:54 ` [PATCH] [8/9] pasemi: iommu support Olof Johansson
2007-02-02 4:54 ` [PATCH] [9/9] pasemi: defconfig Olof Johansson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070202045508.119282000@lixom.net \
--to=olof@lixom$(echo .)net \
--cc=linuxppc-dev@ozlabs$(echo .)org \
--cc=paulus@samba$(echo .)org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox