X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=gdbstub.h;h=d82334fc7b42fb49e4d166a0c7477ed99d3298ed;hb=1167bfd63d983eaa4816ee0edb185f98ff070d6d;hp=e1c9efb80349ddf4c8112657dcacb6f25b570e7e;hpb=cfc3475a8df6d03dfbffa813d7d919eda409c85b;p=qemu.git diff --git a/gdbstub.h b/gdbstub.h index e1c9efb80..d82334fc7 100644 --- a/gdbstub.h +++ b/gdbstub.h @@ -3,17 +3,42 @@ #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 + +#ifdef NEED_CPU_H typedef void (*gdb_syscall_complete_cb)(CPUState *env, target_ulong ret, target_ulong err); -void gdb_do_syscall(gdb_syscall_complete_cb cb, char *fmt, ...); +void gdb_do_syscall(gdb_syscall_complete_cb cb, const char *fmt, ...); int use_gdb_syscalls(void); +void gdb_set_stop_cpu(CPUState *env); +void gdb_exit(CPUState *, int); #ifdef CONFIG_USER_ONLY +int gdb_queuesig (void); int gdb_handlesig (CPUState *, int); -void gdb_exit(CPUState *, int); +void gdb_signalled(CPUState *, int); +void gdbserver_fork(CPUState *); +#endif +/* Get or set a register. Returns the size of the register. */ +typedef int (*gdb_reg_cb)(CPUState *env, uint8_t *buf, int reg); +void gdb_register_coprocessor(CPUState *env, + gdb_reg_cb get_reg, gdb_reg_cb set_reg, + int num_regs, const char *xml, int g_pos); + +#endif + +#ifdef CONFIG_USER_ONLY int gdbserver_start(int); #else int gdbserver_start(const char *port); #endif +/* in gdbstub-xml.c, generated by scripts/feature_to_c.sh */ +extern const char *const xml_builtin[][2]; + #endif