Browse Source

gdbstub: specialise handle_query_attached

In both user and softmmu cases we are just replying with a constant.

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

Message-Id: <20230302190846.2593720-15-alex.bennee@linaro.org>
Message-Id: <20230303025805.625589-15-richard.henderson@linaro.org>
pull/232/head
Alex Bennée 3 years ago
parent
commit
8a2025b36b
  1. 15
      gdbstub/gdbstub.c
  2. 4
      gdbstub/internals.h
  3. 5
      gdbstub/softmmu.c
  4. 5
      gdbstub/user.c

15
gdbstub/gdbstub.c

@ -46,12 +46,6 @@
#include "internals.h"
#ifdef CONFIG_USER_ONLY
#define GDB_ATTACHED "0"
#else
#define GDB_ATTACHED "1"
#endif
#ifndef CONFIG_USER_ONLY
static int phy_memory_mode;
#endif
@ -1673,11 +1667,6 @@ static void handle_query_xfer_features(GArray *params, void *user_ctx)
gdbserver_state.str_buf->len, true);
}
static void handle_query_attached(GArray *params, void *user_ctx)
{
gdb_put_packet(GDB_ATTACHED);
}
static void handle_query_qemu_supported(GArray *params, void *user_ctx)
{
g_string_printf(gdbserver_state.str_buf, "sstepbits;sstep");
@ -1787,12 +1776,12 @@ static const GdbCmdParseEntry gdb_gen_query_table[] = {
},
#endif
{
.handler = handle_query_attached,
.handler = gdb_handle_query_attached,
.cmd = "Attached:",
.cmd_startswith = 1
},
{
.handler = handle_query_attached,
.handler = gdb_handle_query_attached,
.cmd = "Attached",
},
{

4
gdbstub/internals.h

@ -154,7 +154,7 @@ int gdb_continue_partial(char *newstates);
void gdb_put_buffer(const uint8_t *buf, int len);
/*
* Command handlers - either softmmu or user only
* Command handlers - either specialised or softmmu or user only
*/
void gdb_init_gdbserver_state(void);
@ -183,6 +183,8 @@ void gdb_handle_query_rcmd(GArray *params, void *user_ctx); /* softmmu */
void gdb_handle_query_offsets(GArray *params, void *user_ctx); /* user */
void gdb_handle_query_xfer_auxv(GArray *params, void *user_ctx); /*user */
void gdb_handle_query_attached(GArray *params, void *user_ctx); /* both */
/*
* Break/Watch point support - there is an implementation for softmmu
* and user mode.

5
gdbstub/softmmu.c

@ -446,6 +446,11 @@ void gdb_handle_query_rcmd(GArray *params, void *user_ctx)
* Execution state helpers
*/
void gdb_handle_query_attached(GArray *params, void *user_ctx)
{
gdb_put_packet("1");
}
void gdb_continue(void)
{
if (!runstate_needs_reset()) {

5
gdbstub/user.c

@ -345,6 +345,11 @@ void gdbserver_fork(CPUState *cpu)
* Execution state helpers
*/
void gdb_handle_query_attached(GArray *params, void *user_ctx)
{
gdb_put_packet("0");
}
void gdb_continue(void)
{
gdbserver_user_state.running_state = 1;

Loading…
Cancel
Save