qemu/gdbstub.h
<<
>>
Prefs
   1#ifndef GDBSTUB_H
   2#define GDBSTUB_H
   3
   4#define DEFAULT_GDBSTUB_PORT "1234"
   5
   6/* GDB breakpoint/watchpoint types */
   7#define GDB_BREAKPOINT_SW        0
   8#define GDB_BREAKPOINT_HW        1
   9#define GDB_WATCHPOINT_WRITE     2
  10#define GDB_WATCHPOINT_READ      3
  11#define GDB_WATCHPOINT_ACCESS    4
  12
  13#ifdef NEED_CPU_H
  14typedef void (*gdb_syscall_complete_cb)(CPUArchState *env,
  15                                        target_ulong ret, target_ulong err);
  16
  17void gdb_do_syscall(gdb_syscall_complete_cb cb, const char *fmt, ...);
  18int use_gdb_syscalls(void);
  19void gdb_set_stop_cpu(CPUArchState *env);
  20void gdb_exit(CPUArchState *, int);
  21#ifdef CONFIG_USER_ONLY
  22int gdb_queuesig (void);
  23int gdb_handlesig (CPUArchState *, int);
  24void gdb_signalled(CPUArchState *, int);
  25void gdbserver_fork(CPUArchState *);
  26#endif
  27/* Get or set a register.  Returns the size of the register.  */
  28typedef int (*gdb_reg_cb)(CPUArchState *env, uint8_t *buf, int reg);
  29void gdb_register_coprocessor(CPUArchState *env,
  30                              gdb_reg_cb get_reg, gdb_reg_cb set_reg,
  31                              int num_regs, const char *xml, int g_pos);
  32
  33static inline int cpu_index(CPUArchState *env)
  34{
  35#if defined(CONFIG_USER_ONLY) && defined(CONFIG_USE_NPTL)
  36    return env->host_tid;
  37#else
  38    return env->cpu_index + 1;
  39#endif
  40}
  41
  42#endif
  43
  44#ifdef CONFIG_USER_ONLY
  45int gdbserver_start(int);
  46#else
  47int gdbserver_start(const char *port);
  48#endif
  49
  50/* in gdbstub-xml.c, generated by scripts/feature_to_c.sh */
  51extern const char *const xml_builtin[][2];
  52
  53#endif
  54