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 */