| #ifndef GDBSTUB_H |
| #define GDBSTUB_H |
| |
| #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 |
| #include "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, const char *fmt, ...); |
| int use_gdb_syscalls(void); |
| void gdb_set_stop_cpu(CPUState *env); |
| void gdb_exit(CPUArchState *, int); |
| #ifdef CONFIG_USER_ONLY |
| int gdb_queuesig (void); |
| int gdb_handlesig (CPUState *, int); |
| void gdb_signalled(CPUArchState *, int); |
| void gdbserver_fork(CPUArchState *); |
| #endif |
| /* Get or set a register. Returns the size of the register. */ |
| typedef int (*gdb_reg_cb)(CPUArchState *env, uint8_t *buf, int reg); |
| void gdb_register_coprocessor(CPUState *cpu, |
| 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 |
| |
| #endif |