summaryrefslogtreecommitdiff
path: root/Debugger
diff options
context:
space:
mode:
authorTat-Chee Wan (USM)2011-07-11 08:57:08 +0800
committerTat-Chee Wan (USM)2011-07-11 08:57:08 +0800
commit1da4bbcbb476f5133e9d2c7f8ede8382d9e2bfe2 (patch)
treec120b2ba246f15faed625894c0af68865a3e72b5 /Debugger
parentb9bb70c16dba4c945b75f1a4b929e2ec304d2874 (diff)
revert b9bb70c16dba4c945b75f1a4b929e2ec304d2874, revise fix
We need to adjust SP to store SPSR and Aborted Next Instruction Address Revised fix to not update SP for storing Aborted PC to R15 slot, but to copy the adjusted SP value for the R14 slot to R3 instead.
Diffstat (limited to 'Debugger')
-rw-r--r--Debugger/abort_handler.S5
1 files changed, 2 insertions, 3 deletions
diff --git a/Debugger/abort_handler.S b/Debugger/abort_handler.S
index 882156a..f4d1bd0 100644
--- a/Debugger/abort_handler.S
+++ b/Debugger/abort_handler.S
@@ -75,9 +75,8 @@ data_abort_handler:
_common_abort_handler:
sub r0, lr, r2 /* R0: Adjust PC to ABORTed instruction address */
- stmfd sp!, {r0} /* Save ABORTed Instruction PC to stack (R15 slot) */
-
- mov r3, sp /* Use R3 to write Banked R13-R14 of ABORT instruction */
+ str r0, [sp, #-4] /* Save ABORTed Instruction PC to stack (R15 slot) */
+ sub r3, sp, #4 /* Use R3 to write Banked R13-R14 of ABORT instruction, update R3 to point to R14 slot */
mrs r1, spsr /* Copy SPSR to r1 */
tst r1, #CPSR_THUMB /* Check for Thumb Mode */