Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 51423a9c authored by Christophe Leroy's avatar Christophe Leroy Committed by Michael Ellerman
Browse files

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: default avatarChristophe Leroy <christophe.leroy@c-s.fr>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent b9ef7b4b
Loading
Loading
Loading
Loading
+0 −1
Original line number Original line Diff line number Diff line
@@ -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);
+2 −2
Original line number Original line Diff line number Diff line
@@ -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


+2 −10
Original line number Original line Diff line number Diff line
@@ -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);