summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBernd Schmidt <bernds_cb1@t-online.de>2008-05-07 11:41:26 +0800
committerBryan Wu <cooloney@kernel.org>2008-05-07 11:41:26 +0800
commitddb3f00ca0897f585128a6cca229eeb9d91fa6ef (patch)
tree2896a0dc2639bf13338fa451471d8509bf94c88b
parent1bfb4b21c7c39295f5535c139f796df1d51ec009 (diff)
downloadlinux-ddb3f00ca0897f585128a6cca229eeb9d91fa6ef.tar.gz
linux-ddb3f00ca0897f585128a6cca229eeb9d91fa6ef.tar.bz2
linux-ddb3f00ca0897f585128a6cca229eeb9d91fa6ef.zip
[Blackfin] arch: In the double fault handler, set up the PT_RETI slot
In the double fault handler, set up the PT_RETI slot so that we print out the correct return address in the dumping code. Signed-off-by: Bernd Schmidt <bernds_cb1@t-online.de> Signed-off-by: Bryan Wu <cooloney@kernel.org>
-rw-r--r--arch/blackfin/mach-common/entry.S5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/blackfin/mach-common/entry.S b/arch/blackfin/mach-common/entry.S
index f2fb87e9a46e..7365a17a6a81 100644
--- a/arch/blackfin/mach-common/entry.S
+++ b/arch/blackfin/mach-common/entry.S
@@ -295,6 +295,11 @@ ENTRY(_double_fault)
*/
SAVE_ALL_SYS
+ /* The dumping functions expect the return address in the RETI
+ * slot. */
+ r6 = retx;
+ [sp + PT_PC] = r6;
+
r0 = sp; /* stack frame pt_regs pointer argument ==> r0 */
SP += -12;
call _double_fault_c;