summaryrefslogtreecommitdiff
path: root/Debugger/abort_handler.S
diff options
context:
space:
mode:
authorTat-Chee Wan (USM)2011-07-09 08:04:31 +0800
committerTat-Chee Wan (USM)2011-07-09 08:04:31 +0800
commita250b0f75e58053ee3e7428b8499baa9ddec3e88 (patch)
tree9d736c1473a2b081c5746a68fe5cb640d4029bfd /Debugger/abort_handler.S
parent7d70ae2da93e8fe92e0eb471ed4278a59cab0cf8 (diff)
cleanup abort handler to armdebug interface
Diffstat (limited to 'Debugger/abort_handler.S')
-rw-r--r--Debugger/abort_handler.S13
1 files changed, 8 insertions, 5 deletions
diff --git a/Debugger/abort_handler.S b/Debugger/abort_handler.S
index a968374..7d2e158 100644
--- a/Debugger/abort_handler.S
+++ b/Debugger/abort_handler.S
@@ -51,7 +51,7 @@
.align 0
.extern dbg__display_abort_info
- .extern dbg__bkpt_waitCMD
+ .extern dbg__abort_exception_handler
.extern default_prefetch_abort_handler
.extern default_data_abort_handler
@@ -62,14 +62,16 @@ prefetch_abort_handler:
ldr sp, =__debugger_stack__
stmfd sp, {r0-r15}^ /* Save workspace, previous mode's pc via 'S' flag, R13-R15: placeholders */
mov r2, #PREFETCH_OFFSET
- mov r4, #ABORT_PREFETCH
+ mov r4, #DISP_ABORT_PREFETCH /* Display Abort Info Type */
+ mov r5, #DBG_ABORT_PREFETCH /* Debugger Abort Type */
b _common_abort_handler
data_abort_handler:
ldr sp, =__debugger_stack__
stmfd sp, {r0-r15}^ /* Save workspace, previous mode's pc via 'S' flag, R13-R15: placeholders */
mov r2, #DATA_OFFSET
- mov r4, #ABORT_DATA
+ mov r4, #DISP_ABORT_DATA /* Display Abort Info Type */
+ mov r5, #DBG_ABORT_DATA /* Debugger Abort Type */
_common_abort_handler:
sub r0, lr, r2 /* R0: Adjust PC to ABORTed instruction address */
@@ -99,8 +101,9 @@ _store_prev_mode_banked_regs:
_exit_abort_handler:
ldr sp, =__abort_stack__ /* Reinitialize stack pointer each time an Abort happens */
bic sp, sp, #7
- mov r0, r4 /* Copy Abort Type Enum to R0 */
+ mov r0, r4 /* Copy Display Abort Type Enum to R0 */
bl dbg__display_abort_info /* Display Abort Type to LCD */
- b dbg__bkpt_waitCMD /* Invoke Debugger */
+ mov r0, r5 /* Copy Debugger Abort Type Enum to R0 */
+ b dbg__abort_exception_handler /* Invoke Debugger */