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

Commit 4f099ebb authored by Magnus Damm's avatar Magnus Damm Committed by Paul Mundt
Browse files

sh: remove EXPEVT vector from stack on sh3/sh4/sh4a



Remove EXPEVT vector from the stack, lookup_exception_vector()
for sh3/sh4/sh4a is already using k2 to get the vector.

Signed-off-by: default avatarMagnus Damm <damm@igel.co.jp>
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 1dd22722
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -122,14 +122,12 @@ extern void user_disable_single_step(struct task_struct *);
#ifdef CONFIG_SH_DSP
#define task_pt_regs(task) \
	((struct pt_regs *) (task_stack_page(task) + THREAD_SIZE \
		 - sizeof(struct pt_dspregs) - sizeof(unsigned long)) - 1)
		 - sizeof(struct pt_dspregs)) - 1)
#define task_pt_dspregs(task) \
	((struct pt_dspregs *) (task_stack_page(task) + THREAD_SIZE \
		 - sizeof(unsigned long)) - 1)
	((struct pt_dspregs *) (task_stack_page(task) + THREAD_SIZE) - 1)
#else
#define task_pt_regs(task) \
	((struct pt_regs *) (task_stack_page(task) + THREAD_SIZE \
		 - sizeof(unsigned long)) - 1)
	((struct pt_regs *) (task_stack_page(task) + THREAD_SIZE) - 1)
#endif

static inline unsigned long profile_pc(struct pt_regs *regs)
+1 −4
Original line number Diff line number Diff line
@@ -312,7 +312,6 @@ skip_restore:
	mov	#0, k1
	mov.b	k1, @k0
#endif
	mov.l	@r15+, k2		! restore EXPEVT
	mov	k4, r15
	rte
	 nop
@@ -487,20 +486,18 @@ handle_exception_special:
	.align	L1_CACHE_SHIFT

! save_regs()
! - save vector, default tra, macl, mach, gbr, ssr, pr* and spc on the stack
! - save default tra, macl, mach, gbr, ssr, pr* and spc on the stack
! - save r15*, r14, r13, r12, r11, r10, r9, r8 on the stack
! - switch bank
! - save r7, r6, r5, r4, r3, r2, r1, r0 on the stack
! k0 contains original stack pointer*
! k1 trashed
! k2 passes vector (EXPEVT)
! k3 passes original pr*
! k4 trashed
! BL=1 on entry, on exit BL=0.

save_regs:
	mov	#-1, r1
	mov.l	k2, @-r15	! vector in k2
	mov.l	k1, @-r15	! set TRA (default: -1)
	sts.l	macl, @-r15
	sts.l	mach, @-r15