diff options
author | Øyvind Harboe <oyvind.harboe@zylin.com> | 2011-11-07 07:20:26 +0100 |
---|---|---|
committer | Spencer Oliver <spen@spen-soft.co.uk> | 2011-11-07 16:13:08 +0000 |
commit | 6be4646d17bef86185ce9d706588585b0271d682 (patch) | |
tree | b8db94b84eb9a2f720012c61b2bc9ef5f2bd87e6 /src/target/xscale.c | |
parent | b01e13604587837e20bd4a3a1e78e650c1ce3b77 (diff) | |
download | riscv-openocd-6be4646d17bef86185ce9d706588585b0271d682.zip riscv-openocd-6be4646d17bef86185ce9d706588585b0271d682.tar.gz riscv-openocd-6be4646d17bef86185ce9d706588585b0271d682.tar.bz2 |
xscale: cleanup
- fix error propagation
- add some debug output for "unused" variables
- reduce scope of variable to avoid "unread" variables.
Change-Id: I136995f2a043102e64b8fff3017502fae564013b
Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
Reviewed-on: http://openocd.zylin.com/175
Tested-by: jenkins
Reviewed-by: Spencer Oliver <spen@spen-soft.co.uk>
Diffstat (limited to 'src/target/xscale.c')
-rw-r--r-- | src/target/xscale.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/target/xscale.c b/src/target/xscale.c index b469b86..6fed032 100644 --- a/src/target/xscale.c +++ b/src/target/xscale.c @@ -1180,7 +1180,6 @@ static int xscale_resume(struct target *target, int current, { struct xscale_common *xscale = target_to_xscale(target); struct arm *armv4_5 = &xscale->armv4_5_common; - struct breakpoint *breakpoint = target->breakpoints; uint32_t current_pc; int retval; int i; @@ -1218,6 +1217,7 @@ static int xscale_resume(struct target *target, int current, /* the front-end may request us not to handle breakpoints */ if (handle_breakpoints) { + struct breakpoint *breakpoint; breakpoint = breakpoint_find(target, buf_get_u32(armv4_5->pc->value, 0, 32)); if (breakpoint != NULL) @@ -1242,6 +1242,8 @@ static int xscale_resume(struct target *target, int current, /* restore banked registers */ retval = xscale_restore_banked(target); + if (retval != ERROR_OK) + return retval; /* send resume request */ xscale_send_u32(target, 0x30); @@ -1289,6 +1291,8 @@ static int xscale_resume(struct target *target, int current, /* restore banked registers */ retval = xscale_restore_banked(target); + if (retval != ERROR_OK) + return retval; /* send resume request (command 0x30 or 0x31) * clean the trace buffer if it is to be enabled (0x62) */ @@ -1462,6 +1466,7 @@ static int xscale_step(struct target *target, int current, if ((retval = arm_simulate_step(target, NULL)) != ERROR_OK) return retval; current_pc = buf_get_u32(armv4_5->pc->value, 0, 32); + LOG_DEBUG("current pc %" PRIx32, current_pc); target->debug_reason = DBG_REASON_SINGLESTEP; target_call_event_callbacks(target, TARGET_EVENT_HALTED); @@ -1480,6 +1485,8 @@ static int xscale_step(struct target *target, int current, } retval = xscale_step_inner(target, current, address, handle_breakpoints); + if (retval != ERROR_OK) + return retval; if (breakpoint) { |