X-Git-Url: http://git.maemo.org/git/?a=blobdiff_plain;ds=sidebyside;f=gdbstub.h;h=5740041c76c260a573bd43ae1e0f24fb04e44520;hb=HEAD;hp=c9d5c6827ac989674d47df9098e094a96957221a;hpb=4046d9130ebf3fb4dbb3fa49dfc7e23df7e59d87;p=qemu diff --git a/gdbstub.h b/gdbstub.h index c9d5c68..5740041 100644 --- a/gdbstub.h +++ b/gdbstub.h @@ -1,14 +1,35 @@ #ifndef GDBSTUB_H #define GDBSTUB_H -#define DEFAULT_GDBSTUB_PORT 1234 +#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 void (*gdb_syscall_complete_cb)(CPUState *env, + target_ulong ret, target_ulong err); + +void gdb_do_syscall(gdb_syscall_complete_cb cb, const char *fmt, ...); +int use_gdb_syscalls(void); +void gdb_set_stop_cpu(CPUState *env); #ifdef CONFIG_USER_ONLY +int gdb_queuesig (void); int gdb_handlesig (CPUState *, int); void gdb_exit(CPUState *, int); +void gdb_signalled(CPUState *, int); int gdbserver_start(int); +void gdbserver_fork(CPUState *); #else -int gdbserver_start(CharDriverState *chr); +int gdbserver_start(const char *port); #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