gdbstub: Introduce GdbBreakpointType enumerator

Introduce the GdbBreakpointType enumerator to better follow
code related to GDB protocol handling.

Signed-off-by: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Reviewed-by: Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20260705215729.62196-25-philmd@oss.qualcomm.com>
This commit is contained in:
Philippe Mathieu-Daudé
2026-06-26 17:30:59 +02:00
parent 85b6e24fa2
commit af97fe2eaf
4 changed files with 20 additions and 11 deletions

View File

@@ -11,6 +11,7 @@
#include "qemu/accel.h"
#include "exec/cpu-common.h"
#include "gdbstub/enums.h"
/*
* Most "large" transfers (e.g. memory reads, feature XML
@@ -217,8 +218,10 @@ void gdb_syscall_handling(const char *syscall_packet);
* Break/Watch point support - there is an implementation for system
* and user mode.
*/
int gdb_breakpoint_insert(CPUState *cs, int type, vaddr addr, vaddr len);
int gdb_breakpoint_remove(CPUState *cs, int type, vaddr addr, vaddr len);
int gdb_breakpoint_insert(CPUState *cs, GdbBreakpointType type,
vaddr addr, vaddr len);
int gdb_breakpoint_remove(CPUState *cs, GdbBreakpointType type,
vaddr addr, vaddr len);
void gdb_breakpoint_remove_all(CPUState *cs);
/**

View File

@@ -623,7 +623,8 @@ int gdb_signal_to_target(int sig)
* Break/Watch point helpers
*/
int gdb_breakpoint_insert(CPUState *cs, int type, vaddr addr, vaddr len)
int gdb_breakpoint_insert(CPUState *cs, GdbBreakpointType type,
vaddr addr, vaddr len)
{
const AccelOpsClass *ops = cpus_get_accel();
if (ops->insert_breakpoint) {
@@ -632,7 +633,8 @@ int gdb_breakpoint_insert(CPUState *cs, int type, vaddr addr, vaddr len)
return -ENOSYS;
}
int gdb_breakpoint_remove(CPUState *cs, int type, vaddr addr, vaddr len)
int gdb_breakpoint_remove(CPUState *cs, GdbBreakpointType type,
vaddr addr, vaddr len)
{
const AccelOpsClass *ops = cpus_get_accel();
if (ops->remove_breakpoint) {

View File

@@ -790,7 +790,8 @@ unsigned int gdb_get_max_cpus(void)
* Break/Watch point helpers
*/
int gdb_breakpoint_insert(CPUState *cs, int type, vaddr addr, vaddr len)
int gdb_breakpoint_insert(CPUState *cs, GdbBreakpointType type,
vaddr addr, vaddr len)
{
CPUState *cpu;
int err = 0;
@@ -811,7 +812,8 @@ int gdb_breakpoint_insert(CPUState *cs, int type, vaddr addr, vaddr len)
}
}
int gdb_breakpoint_remove(CPUState *cs, int type, vaddr addr, vaddr len)
int gdb_breakpoint_remove(CPUState *cs, GdbBreakpointType type,
vaddr addr, vaddr len)
{
CPUState *cpu;
int err = 0;

View File

@@ -12,10 +12,12 @@
#define DEFAULT_GDBSTUB_PORT "1234"
/* GDB breakpoint/watchpoint types */
#define GDB_BREAKPOINT_SW 0
#define GDB_BREAKPOINT_HW 1
#define GDB_WATCHPOINT_WRITE 2
#define GDB_WATCHPOINT_READ 3
#define GDB_WATCHPOINT_ACCESS 4
typedef enum GdbBreakpointType {
GDB_BREAKPOINT_SW = 0,
GDB_BREAKPOINT_HW = 1,
GDB_WATCHPOINT_WRITE = 2,
GDB_WATCHPOINT_READ = 3,
GDB_WATCHPOINT_ACCESS = 4,
} GdbBreakpointType;
#endif /* GDBSTUB_ENUMS_H */