powerpc/traps: merge unrecoverable_exception() and nonrecoverable_exception()

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>
This commit is contained in:
Christophe Leroy 2018-09-25 14:10:04 +00:00 committed by Michael Ellerman
parent b9ef7b4b86
commit 51423a9c9b
3 changed files with 4 additions and 13 deletions

View file

@ -63,7 +63,6 @@ void program_check_exception(struct pt_regs *regs);
void alignment_exception(struct pt_regs *regs); void alignment_exception(struct pt_regs *regs);
void slb_miss_bad_addr(struct pt_regs *regs); void slb_miss_bad_addr(struct pt_regs *regs);
void StackOverflow(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 kernel_fp_unavailable_exception(struct pt_regs *regs);
void altivec_unavailable_exception(struct pt_regs *regs); void altivec_unavailable_exception(struct pt_regs *regs);
void vsx_unavailable_exception(struct pt_regs *regs); void vsx_unavailable_exception(struct pt_regs *regs);

View file

@ -794,7 +794,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_601)
lis r10,MSR_KERNEL@h lis r10,MSR_KERNEL@h
ori r10,r10,MSR_KERNEL@l ori r10,r10,MSR_KERNEL@l
bl transfer_to_handler_full bl transfer_to_handler_full
.long nonrecoverable_exception .long unrecoverable_exception
.long ret_from_except .long ret_from_except
#endif #endif
@ -1297,7 +1297,7 @@ END_FTR_SECTION_IFSET(CPU_FTR_601)
rlwinm r3,r3,0,0,30 rlwinm r3,r3,0,0,30
stw r3,_TRAP(r1) stw r3,_TRAP(r1)
4: addi r3,r1,STACK_FRAME_OVERHEAD 4: addi r3,r1,STACK_FRAME_OVERHEAD
bl nonrecoverable_exception bl unrecoverable_exception
/* shouldn't return */ /* shouldn't return */
b 4b b 4b

View file

@ -1547,14 +1547,6 @@ void StackOverflow(struct pt_regs *regs)
panic("kernel stack overflow"); 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) void kernel_fp_unavailable_exception(struct pt_regs *regs)
{ {
enum ctx_state prev_state = exception_enter(); enum ctx_state prev_state = exception_enter();
@ -2090,8 +2082,8 @@ void SPEFloatingPointRoundException(struct pt_regs *regs)
*/ */
void unrecoverable_exception(struct pt_regs *regs) void unrecoverable_exception(struct pt_regs *regs)
{ {
printk(KERN_EMERG "Unrecoverable exception %lx at %lx\n", pr_emerg("Unrecoverable exception %lx at %lx (msr=%lx)\n",
regs->trap, regs->nip); regs->trap, regs->nip, regs->msr);
die("Unrecoverable exception", regs, SIGABRT); die("Unrecoverable exception", regs, SIGABRT);
} }
NOKPROBE_SYMBOL(unrecoverable_exception); NOKPROBE_SYMBOL(unrecoverable_exception);