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 6457574c0b2f32fbaa800b11eeed0cbd8877a77e..ebe5766781aa8c9eca7d96849ca034233e043308 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}
 };