From: Matthias Welwarsky Date: Fri, 21 Oct 2016 14:59:28 +0000 (+0200) Subject: aarch64: don't segfault on reset when target is not examined X-Git-Tag: v0.11.0-rc1~1457 X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=commitdiff_plain;h=beece50670e86c36d0de987c581db5250604695c;ds=sidebyside aarch64: don't segfault on reset when target is not examined Basically port a fix that was already done for the cortex_a target. Change-Id: I4cf4519159bda03ed611bc0b2e340a5dad2d85fe Signed-off-by: Matthias Welwarsky --- diff --git a/src/target/aarch64.c b/src/target/aarch64.c index 487173886f..cabeb9cd35 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;