From: OpenOCD-Gerrit <ope...@us...> - 2020-04-12 21:03:44
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "Main OpenOCD repository". The branch, master has been updated via 4873503ae44ff16dde170e3337945e99ad05e408 (commit) from cbbc56f7f7bef9e0e1cb8711576449c62fe31654 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 4873503ae44ff16dde170e3337945e99ad05e408 Author: Antonio Borneo <bor...@gm...> Date: Wed Feb 12 22:26:51 2020 +0100 cortex_a: don't wait for target halted in deassert_reset() The tcl script src/target/startup.tcl has already the proper centralized support to wait for all targets to halt after the command "reset halt". The extra wait in cortex_a_deassert_reset() is not required. This extra wait is also an issue for multi-core support, because waiting for one core to halt can delay the halt request to the other cores. Replace the indirect call to cortex_a_halt(), that embeds the wait for halt, with a low-level halt sequence. The on-going work on the reset framework is compatible with this change; in fact it keeps in startup.tcl the wait for targets to halt, even if current code proposal for cortex_a simply removes the function cortex_a_deassert_reset(). Change-Id: Ic661c3791a29ba7d520e31f85a61f939a646feb5 Signed-off-by: Antonio Borneo <bor...@gm...> Reviewed-on: http://openocd.zylin.com/5472 Tested-by: jenkins Reviewed-by: Tarek BOCHKATI <tar...@gm...> diff --git a/src/target/cortex_a.c b/src/target/cortex_a.c index 729a173eb..f71b15524 100644 --- a/src/target/cortex_a.c +++ b/src/target/cortex_a.c @@ -1703,6 +1703,7 @@ static int cortex_a_assert_reset(struct target *target) static int cortex_a_deassert_reset(struct target *target) { + struct armv7a_common *armv7a = target_to_armv7a(target); int retval; LOG_DEBUG(" "); @@ -1721,7 +1722,8 @@ static int cortex_a_deassert_reset(struct target *target) LOG_WARNING("%s: ran after reset and before halt ...", target_name(target)); if (target_was_examined(target)) { - retval = target_halt(target); + retval = mem_ap_write_atomic_u32(armv7a->debug_ap, + armv7a->debug_base + CPUDBG_DRCR, DRCR_HALT); if (retval != ERROR_OK) return retval; } else ----------------------------------------------------------------------- Summary of changes: src/target/cortex_a.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) hooks/post-receive -- Main OpenOCD repository |