From 1783911a091554b2fec8acbf10f46a3e6fb02575 Mon Sep 17 00:00:00 2001 From: Tat-Chee Wan (USM) Date: Fri, 1 Apr 2011 12:13:07 +0800 Subject: debug handler must be passed in non-banked register --- Debugger/undef_handler.S | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Debugger/undef_handler.S b/Debugger/undef_handler.S index 23de609..f185fbd 100644 --- a/Debugger/undef_handler.S +++ b/Debugger/undef_handler.S @@ -87,7 +87,7 @@ _is_thumb: teq r2, r1 bne default_undef_handler ldr r1, =BKPT16_ENUM_MASK /* get Thumb BKPT Enum Mask */ - ldr lr, =dbg__thumb_bkpt_handler /* handle BKPT, BKPT index in r0 */ + ldr r2, =dbg__thumb_bkpt_handler /* handle BKPT, BKPT index in r0 */ b _exit_undef_handler _is_arm: ldr r0, [r0] /* load UNDEF instruction into r0 */ @@ -97,11 +97,11 @@ _is_arm: teq r2, r1 bne default_undef_handler ldr r1, =BKPT32_ENUM_MASK /* get ARM BKPT Enum Mask */ - ldr lr, =dbg__arm_bkpt_handler /* handle BKPT, BKPT index in r0 */ + ldr r2, =dbg__arm_bkpt_handler /* handle BKPT, BKPT index in r0 */ _exit_undef_handler: and r0, r1, r0 /* Keep index value */ msr cpsr_c, #(MODE_ABT) /* Configure Abort Mode */ - mov pc, lr /* Invoke Debugger State (Supervisor Mode) */ + mov pc, r2 /* Invoke Debugger State (Supervisor Mode) */ .global resume_execution -- cgit v1.2.3