target/arc: remove saving context during reset
In arc_poll() function we handle the cases, when jtag indicates, that processor is halted, but target->state is not TARGET_HALTED. In case, when processor was halted and target->state was TARGET_RUNNING, we should save context. At the same time if target->state was TARGET_RESET we do not need to save context. Changes: 16.04: Fix - Move setting target->state = TARGET_HALT after "target->state == TARGET_RUNNIG" check, otherwise this check makes no sense Change-Id: I92ab6ec71cf58273bb8401d14a562035de3deab4 Signed-off-by: Evgeniy Didin <didin@synopsys.com> Reviewed-on: http://openocd.zylin.com/5524 Tested-by: jenkins Reviewed-by: Oleksij Rempel <linux@rempel-privat.de>
This commit is contained in:
parent
a7d98680e2
commit
ea4f98046f
|
@ -928,8 +928,10 @@ static int arc_poll(struct target *target)
|
||||||
CHECK_RETVAL(arc_get_register_value(target, "status32", &value));
|
CHECK_RETVAL(arc_get_register_value(target, "status32", &value));
|
||||||
if (value & AUX_STATUS32_REG_HALT_BIT) {
|
if (value & AUX_STATUS32_REG_HALT_BIT) {
|
||||||
LOG_DEBUG("ARC core in halt or reset state.");
|
LOG_DEBUG("ARC core in halt or reset state.");
|
||||||
target->state = TARGET_HALTED;
|
/* Save context if target was not in reset state */
|
||||||
|
if (target->state == TARGET_RUNNING)
|
||||||
CHECK_RETVAL(arc_debug_entry(target));
|
CHECK_RETVAL(arc_debug_entry(target));
|
||||||
|
target->state = TARGET_HALTED;
|
||||||
CHECK_RETVAL(target_call_event_callbacks(target, TARGET_EVENT_HALTED));
|
CHECK_RETVAL(target_call_event_callbacks(target, TARGET_EVENT_HALTED));
|
||||||
} else {
|
} else {
|
||||||
LOG_DEBUG("Discrepancy of STATUS32[0] HALT bit and ARC_JTAG_STAT_RU, "
|
LOG_DEBUG("Discrepancy of STATUS32[0] HALT bit and ARC_JTAG_STAT_RU, "
|
||||||
|
|
Loading…
Reference in New Issue