aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/cpu/sh3
diff options
context:
space:
mode:
authorMatt Fleming <matt@console-pimps.org>2010-01-27 20:44:59 +0000
committerPaul Mundt <lethal@linux-sh.org>2010-02-08 10:46:53 +0900
commit1dca56f13899b9e256f56198026019835aaf9a3a (patch)
tree21a51f6248bbabfa0abe6a5918d674478af38f6f /arch/sh/kernel/cpu/sh3
parentsh: Correct the offset of the return address in ret_from_exception (diff)
downloadlinux-dev-1dca56f13899b9e256f56198026019835aaf9a3a.tar.xz
linux-dev-1dca56f13899b9e256f56198026019835aaf9a3a.zip
sh: Setup frame pointer in handle_exception path
In order to allow the DWARF unwinder to unwind through exceptions we need to setup the frame pointer register (r14). Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/kernel/cpu/sh3')
-rw-r--r--arch/sh/kernel/cpu/sh3/entry.S2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/sh/kernel/cpu/sh3/entry.S b/arch/sh/kernel/cpu/sh3/entry.S
index 3f7e2a22c7c2..29021bc67493 100644
--- a/arch/sh/kernel/cpu/sh3/entry.S
+++ b/arch/sh/kernel/cpu/sh3/entry.S
@@ -365,6 +365,8 @@ handle_exception:
mov.l @k2, k2 ! read out vector and keep in k2
handle_exception_special:
+ setup_frame_reg
+
! Setup return address and jump to exception handler
mov.l 7f, r9 ! fetch return address
stc r2_bank, r0 ! k2 (vector)