OSDN Git Service

powerpc/traps: merge unrecoverable_exception() and nonrecoverable_exception()
authorChristophe Leroy <christophe.leroy@c-s.fr>
Tue, 25 Sep 2018 14:10:04 +0000 (14:10 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 3 Oct 2018 05:40:01 +0000 (15:40 +1000)
PPC32 uses nonrecoverable_exception() while PPC64 uses
unrecoverable_exception().

Both functions are doing almost the same thing.

This patch removes nonrecoverable_exception()

Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/include/asm/asm-prototypes.h
arch/powerpc/kernel/entry_32.S
arch/powerpc/kernel/traps.c

index 1f4691c..9bc98c2 100644 (file)
@@ -63,7 +63,6 @@ void program_check_exception(struct pt_regs *regs);
 void alignment_exception(struct pt_regs *regs);
 void slb_miss_bad_addr(struct pt_regs *regs);
 void StackOverflow(struct pt_regs *regs);
-void nonrecoverable_exception(struct pt_regs *regs);
 void kernel_fp_unavailable_exception(struct pt_regs *regs);
 void altivec_unavailable_exception(struct pt_regs *regs);
 void vsx_unavailable_exception(struct pt_regs *regs);
index e58c3f4..77decde 100644 (file)
@@ -794,7 +794,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_601)
        lis     r10,MSR_KERNEL@h
        ori     r10,r10,MSR_KERNEL@l
        bl      transfer_to_handler_full
-       .long   nonrecoverable_exception
+       .long   unrecoverable_exception
        .long   ret_from_except
 #endif
 
@@ -1297,7 +1297,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_601)
        rlwinm  r3,r3,0,0,30
        stw     r3,_TRAP(r1)
 4:     addi    r3,r1,STACK_FRAME_OVERHEAD
-       bl      nonrecoverable_exception
+       bl      unrecoverable_exception
        /* shouldn't return */
        b       4b
 
index 6ab66a8..a295752 100644 (file)
@@ -1547,14 +1547,6 @@ void StackOverflow(struct pt_regs *regs)
        panic("kernel stack overflow");
 }
 
-void nonrecoverable_exception(struct pt_regs *regs)
-{
-       printk(KERN_ERR "Non-recoverable exception at PC=%lx MSR=%lx\n",
-              regs->nip, regs->msr);
-       debugger(regs);
-       die("nonrecoverable exception", regs, SIGKILL);
-}
-
 void kernel_fp_unavailable_exception(struct pt_regs *regs)
 {
        enum ctx_state prev_state = exception_enter();
@@ -2090,8 +2082,8 @@ void SPEFloatingPointRoundException(struct pt_regs *regs)
  */
 void unrecoverable_exception(struct pt_regs *regs)
 {
-       printk(KERN_EMERG "Unrecoverable exception %lx at %lx\n",
-              regs->trap, regs->nip);
+       pr_emerg("Unrecoverable exception %lx at %lx (msr=%lx)\n",
+                regs->trap, regs->nip, regs->msr);
        die("Unrecoverable exception", regs, SIGABRT);
 }
 NOKPROBE_SYMBOL(unrecoverable_exception);