From: OpenOCD-Gerrit <ope...@us...> - 2020-11-11 21:23:10
|
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 06c7a53f1fff20bcc4be9e63f83ae98664777f34 (commit) from e44539d66c8929679321704768125df9ba7d5f67 (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 06c7a53f1fff20bcc4be9e63f83ae98664777f34 Author: Kevin Yang <kan...@go...> Date: Wed Nov 4 10:39:29 2020 -0800 target/cortex_m: Change sleep to running state When the core is in sleep mode, the core is no longer retiring instructions. Cortext M remains in "unknown" state. This patch converts sleep mode to "running" state. Change-Id: I1e9b6c9be51fd0f1f6ce81af9b1f5f9f1f43c661 Signed-off-by: Kevin Yang <kan...@go...> Reviewed-on: http://openocd.zylin.com/5921 Reviewed-by: Tomas Vanek <va...@fb...> Tested-by: jenkins diff --git a/src/target/cortex_m.c b/src/target/cortex_m.c index 08b3661ea..0c1a99fc0 100644 --- a/src/target/cortex_m.c +++ b/src/target/cortex_m.c @@ -656,13 +656,9 @@ static int cortex_m_poll(struct target *target) } } - /* REVISIT when S_SLEEP is set, it's in a Sleep or DeepSleep state. - * How best to model low power modes? - */ - if (target->state == TARGET_UNKNOWN) { - /* check if processor is retiring instructions */ - if (cortex_m->dcb_dhcsr & S_RETIRE_ST) { + /* check if processor is retiring instructions or sleeping */ + if (cortex_m->dcb_dhcsr & S_RETIRE_ST || cortex_m->dcb_dhcsr & S_SLEEP) { target->state = TARGET_RUNNING; retval = ERROR_OK; } diff --git a/src/target/target.h b/src/target/target.h index 44463b74f..b9ae2f78e 100644 --- a/src/target/target.h +++ b/src/target/target.h @@ -47,7 +47,7 @@ struct gdb_fileio_info; /* * TARGET_UNKNOWN = 0: we don't know anything about the target yet - * TARGET_RUNNING = 1: the target is executing user code + * TARGET_RUNNING = 1: the target is executing or ready to execute user code * TARGET_HALTED = 2: the target is not executing code, and ready to talk to the * debugger. on an xscale it means that the debug handler is executing * TARGET_RESET = 3: the target is being held in reset (only a temporary state, ----------------------------------------------------------------------- Summary of changes: src/target/cortex_m.c | 8 ++------ src/target/target.h | 2 +- 2 files changed, 3 insertions(+), 7 deletions(-) hooks/post-receive -- Main OpenOCD repository |