Commit af97fe2eaf for qemu.org
commit af97fe2eafe4acebf13bdcb64de32d67a2e5a237
Author: Philippe Mathieu-Daudé <philmd@oss.qualcomm.com>
Date: Fri Jun 26 17:30:59 2026 +0200
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>
diff --git a/gdbstub/internals.h b/gdbstub/internals.h
index 0b74ea4000..33f68672d1 100644
--- a/gdbstub/internals.h
+++ b/gdbstub/internals.h
@@ -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);
/**
diff --git a/gdbstub/system.c b/gdbstub/system.c
index 9c4bd8ebcb..6e2dbc823e 100644
--- a/gdbstub/system.c
+++ b/gdbstub/system.c
@@ -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) {
diff --git a/gdbstub/user.c b/gdbstub/user.c
index 90d6ee49fb..9e6f9a6f37 100644
--- a/gdbstub/user.c
+++ b/gdbstub/user.c
@@ -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;
diff --git a/include/gdbstub/enums.h b/include/gdbstub/enums.h
index c4d54a1d08..e4e2043d92 100644
--- a/include/gdbstub/enums.h
+++ b/include/gdbstub/enums.h
@@ -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 */