From 6be4646d17bef86185ce9d706588585b0271d682 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=C3=98yvind=20Harboe?= Date: Mon, 7 Nov 2011 07:20:26 +0100 Subject: [PATCH] xscale: cleanup MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit - 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 Reviewed-on: http://openocd.zylin.com/175 Tested-by: jenkins Reviewed-by: Spencer Oliver --- src/target/xscale.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/target/xscale.c b/src/target/xscale.c index b469b864..6fed0329 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) { -- 2.39.5