powerpc: Decode correct MSR bits in oops output
authorAnton Blanchard <anton@samba.org>
Thu, 24 Nov 2011 19:35:57 +0000 (19:35 +0000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Mon, 28 Nov 2011 00:42:09 +0000 (11:42 +1100)
On a 64bit book3s machine I have an oops from a system reset that
claims the book3e CE bit was set:

MSR: 8000000000021032 <ME,CE,IR,DR>  CR: 24004082  XER: 00000010

On a book3s machine system reset sets IBM bit 46 and 47 depending on
the power saving mode. Separate the definitions by type and for
completeness add the rest of the bits in.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/kernel/process.c

index 6457574..ebe5766 100644 (file)
@@ -584,16 +584,32 @@ static struct regbit {
        unsigned long bit;
        const char *name;
 } msr_bits[] = {
+#if defined(CONFIG_PPC64) && !defined(CONFIG_BOOKE)
+       {MSR_SF,        "SF"},
+       {MSR_HV,        "HV"},
+#endif
+       {MSR_VEC,       "VEC"},
+       {MSR_VSX,       "VSX"},
+#ifdef CONFIG_BOOKE
+       {MSR_CE,        "CE"},
+#endif
        {MSR_EE,        "EE"},
        {MSR_PR,        "PR"},
        {MSR_FP,        "FP"},
-       {MSR_VEC,       "VEC"},
-       {MSR_VSX,       "VSX"},
        {MSR_ME,        "ME"},
-       {MSR_CE,        "CE"},
+#ifdef CONFIG_BOOKE
        {MSR_DE,        "DE"},
+#else
+       {MSR_SE,        "SE"},
+       {MSR_BE,        "BE"},
+#endif
        {MSR_IR,        "IR"},
        {MSR_DR,        "DR"},
+       {MSR_PMM,       "PMM"},
+#ifndef CONFIG_BOOKE
+       {MSR_RI,        "RI"},
+       {MSR_LE,        "LE"},
+#endif
        {0,             NULL}
 };