MIPS: traps: print Exception Code in __show_regs()
authorPetri Gynther <pgynther@google.com>
Fri, 8 May 2015 22:10:10 +0000 (15:10 -0700)
committerRalf Baechle <ralf@linux-mips.org>
Sun, 21 Jun 2015 19:52:26 +0000 (21:52 +0200)
Print Exception Code when printing the Cause register.

Signed-off-by: Petri Gynther <pgynther@google.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/9998/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kernel/traps.c

index d2d1c1933bc9f598efaa81735d132af1ff12adee..1d6dd12fe940d095830f85c38de33789fd5de679 100644 (file)
@@ -236,6 +236,7 @@ static void __show_regs(const struct pt_regs *regs)
 {
        const int field = 2 * sizeof(unsigned long);
        unsigned int cause = regs->cp0_cause;
+       unsigned int exccode;
        int i;
 
        show_regs_print_info(KERN_DEFAULT);
@@ -317,10 +318,10 @@ static void __show_regs(const struct pt_regs *regs)
        }
        printk("\n");
 
-       printk("Cause : %08x\n", cause);
+       exccode = (cause & CAUSEF_EXCCODE) >> CAUSEB_EXCCODE;
+       printk("Cause : %08x (ExcCode %02x)\n", cause, exccode);
 
-       cause = (cause & CAUSEF_EXCCODE) >> CAUSEB_EXCCODE;
-       if (1 <= cause && cause <= 5)
+       if (1 <= exccode && exccode <= 5)
                printk("BadVA : %0*lx\n", field, regs->cp0_badvaddr);
 
        printk("PrId  : %08x (%s)\n", read_c0_prid(),