aboutsummaryrefslogtreecommitdiff
path: root/src/target/aarch64.c
diff options
context:
space:
mode:
authorTomas Vanek <vanekt@fbl.cz>2018-02-23 19:27:28 +0100
committerTomas Vanek <vanekt@fbl.cz>2018-02-27 11:19:10 +0000
commitbae76053dc515252dc5c8235b9a848e461080c66 (patch)
tree46f0cf0b04eb9cf21cf06fc0bbba1bc407153f8f /src/target/aarch64.c
parent1a3cbbf3a5e3432aeab52d7e5f1ff83f71dca929 (diff)
downloadriscv-openocd-bae76053dc515252dc5c8235b9a848e461080c66.zip
riscv-openocd-bae76053dc515252dc5c8235b9a848e461080c66.tar.gz
riscv-openocd-bae76053dc515252dc5c8235b9a848e461080c66.tar.bz2
gdb_server: run control fixes for vCont
this patch contains several changes to run control and state handling together with gdb: - graceful handling of target/gdb desync on resume, step and halt - a default gdb-attach event executing the "halt" command, to meet gdb expectation of target state when it attaches - call target_poll() after Ctrl-C command from gdb - call target_poll() after resume and step through a vCont packet - fix log message forwarding on vCont stepping, also move an aarch64 log message from INFO to DEBUG level to prevent messing up the gdb console during source-line stepping - fix oversight in vCont support that messes up breakpoint handling during stepping Change-Id: Ic79db7c2b798a35283ff752e9b12475486a1f31a Fixes: d301d8b42f0bfe67d76d6f340db6570cc71c876e Signed-off-by: Tomas Vanek <vanekt@fbl.cz> Signed-off-by: Matthias Welwarsky <matthias.welwarsky@sysgo.com> Reviewed-on: http://openocd.zylin.com/4432 Tested-by: jenkins Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de>
Diffstat (limited to 'src/target/aarch64.c')
-rw-r--r--src/target/aarch64.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/target/aarch64.c b/src/target/aarch64.c
index 14a2da6..0630ffb 100644
--- a/src/target/aarch64.c
+++ b/src/target/aarch64.c
@@ -452,7 +452,7 @@ static int update_halt_gdb(struct target *target, enum target_debug_reason debug
struct target *curr;
if (debug_reason == DBG_REASON_NOTHALTED) {
- LOG_INFO("Halting remaining targets in SMP group");
+ LOG_DEBUG("Halting remaining targets in SMP group");
aarch64_halt_smp(target, true);
}
@@ -1086,7 +1086,7 @@ static int aarch64_step(struct target *target, int current, target_addr_t addres
if (retval != ERROR_OK)
return retval;
- if (target->smp && !handle_breakpoints) {
+ if (target->smp && (current == 1)) {
/*
* isolate current target so that it doesn't get resumed
* together with the others