powerpc/tm: Print 64-bits MSR
authorBreno Leitao <leitao@debian.org>
Tue, 7 Aug 2018 13:35:00 +0000 (10:35 -0300)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 3 Oct 2018 05:40:05 +0000 (15:40 +1000)
On a kernel TM Bad thing program exception, the Machine State Register
(MSR) is not being properly displayed. The exception code dumps a 32-bits
value but MSR is a 64 bits register for all platforms that have HTM
enabled.

This patch dumps the MSR value as a 64-bits value instead of 32 bits. In
order to do so, the 'reason' variable could not be used, since it trimmed
MSR to 32-bits (int).

Signed-off-by: Breno Leitao <leitao@debian.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/kernel/traps.c

index a29575215198bd1d77d43499e7eb51e1fbee36fe..5ef85ab49dc30a5ddce856d7db9cea3d0b56665b 100644 (file)
@@ -1433,7 +1433,7 @@ void program_check_exception(struct pt_regs *regs)
                        goto bail;
                } else {
                        printk(KERN_EMERG "Unexpected TM Bad Thing exception "
-                              "at %lx (msr 0x%x)\n", regs->nip, reason);
+                              "at %lx (msr 0x%lx)\n", regs->nip, regs->msr);
                        die("Unrecoverable exception", regs, SIGABRT);
                }
        }