aboutsummaryrefslogtreecommitdiff
path: root/src/target/xscale.c
diff options
context:
space:
mode:
authorØyvind Harboe <oyvind.harboe@zylin.com>2011-11-07 07:20:26 +0100
committerSpencer Oliver <spen@spen-soft.co.uk>2011-11-07 16:13:08 +0000
commit6be4646d17bef86185ce9d706588585b0271d682 (patch)
treeb8db94b84eb9a2f720012c61b2bc9ef5f2bd87e6 /src/target/xscale.c
parentb01e13604587837e20bd4a3a1e78e650c1ce3b77 (diff)
downloadriscv-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.c9
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)
{