summaryrefslogtreecommitdiffstats
path: root/arch/sh/kernel/cpu
diff options
context:
space:
mode:
authorMatt Fleming <matt@console-pimps.org>2009-08-20 18:00:21 +0200
committerMatt Fleming <matt@console-pimps.org>2009-08-21 14:04:10 +0200
commitfe98dd31eb9fe055703e0171134b4d074558d4e9 (patch)
treeed7f82f1370a5310ff099c3299d3519a52e2e5f0 /arch/sh/kernel/cpu
parentsh: unwinder: Introduce UNWINDER_BUG() and UNWINDER_BUG_ON() (diff)
downloadlinux-fe98dd31eb9fe055703e0171134b4d074558d4e9.tar.xz
linux-fe98dd31eb9fe055703e0171134b4d074558d4e9.zip
sh: Setup the frame pointer in handle_interrupt
When CONFIG_DWARF_UNWINDER is enabled setup r14 in handle_interrupt, so that we can figure out what function was running when we were interrupted. Signed-off-by: Matt Fleming <matt@console-pimps.org>
Diffstat (limited to 'arch/sh/kernel/cpu')
-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 67ad6467c694..f89ec87e3fc3 100644
--- a/arch/sh/kernel/cpu/sh3/entry.S
+++ b/arch/sh/kernel/cpu/sh3/entry.S
@@ -508,6 +508,8 @@ ENTRY(handle_interrupt)
bsr save_regs ! needs original pr value in k3
mov #-1, k2 ! default vector kept in k2
+ setup_frame_reg
+
! Setup return address and jump to do_IRQ
mov.l 4f, r9 ! fetch return address
lds r9, pr ! put return address in pr