aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/cpu/sh3/entry.S
diff options
context:
space:
mode:
authorMagnus Damm <damm@igel.co.jp>2009-02-23 07:16:34 +0000
committerPaul Mundt <lethal@linux-sh.org>2009-02-27 16:26:19 +0900
commit4f099ebb27211d378304ddcfa507097f5128f5b9 (patch)
tree5fdffb1e53b9c4b967eb86ada8eed14eafb763ff /arch/sh/kernel/cpu/sh3/entry.S
parentsh: rework register restore code for sh3/sh4/sh4a (diff)
downloadlinux-dev-4f099ebb27211d378304ddcfa507097f5128f5b9.tar.xz
linux-dev-4f099ebb27211d378304ddcfa507097f5128f5b9.zip
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: Magnus Damm <damm@igel.co.jp> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel/cpu/sh3/entry.S')
-rw-r--r--arch/sh/kernel/cpu/sh3/entry.S5
1 files changed, 1 insertions, 4 deletions
diff --git a/arch/sh/kernel/cpu/sh3/entry.S b/arch/sh/kernel/cpu/sh3/entry.S
index cbffbffce351..0271fe08de27 100644
--- a/arch/sh/kernel/cpu/sh3/entry.S
+++ b/arch/sh/kernel/cpu/sh3/entry.S
@@ -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