From 37deb37593c20c05a4bb29e1d88671a1f7ec6548 Mon Sep 17 00:00:00 2001 From: Tomas Vanek Date: Thu, 22 Mar 2018 11:53:40 +0100 Subject: [PATCH] target: fix display halt message logic If a target is run from gdb and then stopped from OpenOCD telnet interface, halt does not show message with status and PC registers. While on it rename 'display' to 'verbose_halt_msg' and use bool type instead of int. Change-Id: Ibe6589015b302e0be97258b06938c297745436a5 Signed-off-by: Tomas Vanek Reviewed-on: http://openocd.zylin.com/4475 Tested-by: jenkins Reviewed-by: Matthias Welwarsky --- src/openocd.c | 6 +++--- src/target/target.c | 5 ++++- src/target/target.h | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/openocd.c b/src/openocd.c index 1874530c..d5d7ebe8 100644 --- a/src/openocd.c +++ b/src/openocd.c @@ -87,13 +87,13 @@ static int log_target_callback_event_handler(struct target *target, { switch (event) { case TARGET_EVENT_GDB_START: - target->display = 0; + target->verbose_halt_msg = false; break; case TARGET_EVENT_GDB_END: - target->display = 1; + target->verbose_halt_msg = true; break; case TARGET_EVENT_HALTED: - if (target->display) { + if (target->verbose_halt_msg) { /* do not display information when debugger caused the halt */ target_arch_state(target); } diff --git a/src/target/target.c b/src/target/target.c index 4552034e..10426023 100644 --- a/src/target/target.c +++ b/src/target/target.c @@ -2959,6 +2959,9 @@ COMMAND_HANDLER(handle_halt_command) LOG_DEBUG("-"); struct target *target = get_current_target(CMD_CTX); + + target->verbose_halt_msg = true; + int retval = target_halt(target); if (ERROR_OK != retval) return retval; @@ -5579,7 +5582,7 @@ static int target_create(Jim_GetOptInfo *goi) target->next = NULL; target->arch_info = NULL; - target->display = 1; + target->verbose_halt_msg = true; target->halt_issued = false; diff --git a/src/target/target.h b/src/target/target.h index 0ce4a137..7a8a80f3 100644 --- a/src/target/target.h +++ b/src/target/target.h @@ -176,7 +176,7 @@ struct target { void *private_config; /* pointer to target specific config data (for jim_configure hook) */ struct target *next; /* next target in list */ - int display; /* display async info in telnet session. Do not display + bool verbose_halt_msg; /* display async info in telnet session. Do not display * lots of halted/resumed info when stepping in debugger. */ bool halt_issued; /* did we transition to halted state? */ int64_t halt_issued_time; /* Note time when halt was issued */ -- 2.39.5