aboutsummaryrefslogtreecommitdiff
path: root/src/rtos/riscv_debug.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/rtos/riscv_debug.c')
-rw-r--r--src/rtos/riscv_debug.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/rtos/riscv_debug.c b/src/rtos/riscv_debug.c
index 6703008..3650021 100644
--- a/src/rtos/riscv_debug.c
+++ b/src/rtos/riscv_debug.c
@@ -124,6 +124,11 @@ static int riscv_gdb_thread_packet(struct connection *connection, const char *pa
return ERROR_OK;
}
+ if (strcmp(packet, "qTStatus") == 0) {
+ gdb_put_packet(connection, "T0", 2);
+ return ERROR_OK;
+ }
+
if (strcmp(packet, "qC") == 0) {
char rep_str[32];
snprintf(rep_str, 32, "QC%" PRIx64, rtos->current_threadid);
@@ -250,6 +255,7 @@ static int riscv_gdb_v_packet(struct connection *connection, const char *packet,
if (strcmp(packet_stttrr, "vCont;c") == 0) {
target_call_event_callbacks(target, TARGET_EVENT_GDB_START);
target_call_event_callbacks(target, TARGET_EVENT_RESUME_START);
+ riscv_set_all_rtos_harts(target);
riscv_openocd_resume(target, 1, 0, 0, 0);
target->state = TARGET_RUNNING;
gdb_set_frontend_state_running(connection);