summaryrefslogtreecommitdiffstats
path: root/arch/sh/include/asm/entry-macros.S
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sh/include/asm/entry-macros.S')
-rw-r--r--arch/sh/include/asm/entry-macros.S12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/sh/include/asm/entry-macros.S b/arch/sh/include/asm/entry-macros.S
index 1bdd93891cd..64fd0de24da 100644
--- a/arch/sh/include/asm/entry-macros.S
+++ b/arch/sh/include/asm/entry-macros.S
@@ -108,3 +108,15 @@
#else
# define PREF(x) nop
#endif
+
+ /*
+ * Macro for use within assembly. Because the DWARF unwinder
+ * needs to use the frame register to unwind the stack, we
+ * need to setup r14 with the value of the stack pointer as
+ * the return address is usually on the stack somewhere.
+ */
+ .macro setup_frame_reg
+#ifdef CONFIG_DWARF_UNWINDER
+ mov r15, r14
+#endif
+ .endm