aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/target/aarch64.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/target/aarch64.c b/src/target/aarch64.c
index 48717388..cabeb9cd 100644
--- a/src/target/aarch64.c
+++ b/src/target/aarch64.c
@@ -1316,7 +1316,8 @@ static int aarch64_assert_reset(struct target *target)
}
/* registers are now invalid */
- register_cache_invalidate(armv8->arm.core_cache);
+ if (target_was_examined(target))
+ register_cache_invalidate(armv8->arm.core_cache);
target->state = TARGET_RESET;
@@ -1332,6 +1333,9 @@ static int aarch64_deassert_reset(struct target *target)
/* be certain SRST is off */
jtag_add_reset(0, 0);
+ if (!target_was_examined(target))
+ return ERROR_OK;
+
retval = aarch64_poll(target);
if (retval != ERROR_OK)
return retval;