27 #include <sys/types.h>
30 #include <sys/ioctl.h>
33 #include <sys/procfs.h>
34 #include <sys/ptrace.h>
35 #include <asm/ptrace.h>
53 #define GET_THREAD_ID(PTID) get_thread_id (PTID)
68 if (regnum ==
gdbarch_tdep (gdbarch)->wb_regnum || regnum == -1)
72 if (regnum ==
gdbarch_tdep (gdbarch)->ws_regnum || regnum == -1)
76 if (regnum ==
gdbarch_tdep (gdbarch)->lbeg_regnum || regnum == -1)
80 if (regnum ==
gdbarch_tdep (gdbarch)->lend_regnum || regnum == -1)
84 if (regnum ==
gdbarch_tdep (gdbarch)->lcount_regnum || regnum == -1)
88 if (regnum ==
gdbarch_tdep (gdbarch)->sar_regnum || regnum == -1)
97 else if (regnum == -1)
120 if (regnum ==
gdbarch_tdep (gdbarch)->wb_regnum || regnum == -1)
124 if (regnum ==
gdbarch_tdep (gdbarch)->ws_regnum || regnum == -1)
128 if (regnum ==
gdbarch_tdep (gdbarch)->lbeg_regnum || regnum == -1)
132 if (regnum ==
gdbarch_tdep (gdbarch)->lend_regnum || regnum == -1)
136 if (regnum ==
gdbarch_tdep (gdbarch)->lcount_regnum || regnum == -1)
140 if (regnum ==
gdbarch_tdep (gdbarch)->sar_regnum || regnum == -1)
149 else if (regnum == -1)
235 if (
ptrace (PTRACE_GETXTREGS, tid, 0, (
long)&xtregs) < 0)
239 if (regnum == ptr->
gdb_regnum || regnum == -1)
251 if (
ptrace (PTRACE_GETXTREGS, tid, 0, (
long)&xtregs) < 0)
255 if (regnum == ptr->
gdb_regnum || regnum == -1)
259 if (
ptrace (PTRACE_SETXTREGS, tid, 0, (
long)&xtregs) < 0)
const xtensa_regtable_t xtensa_regmap_table[]
static void fetch_gregs(struct regcache *regcache, int regnum)
struct gdbarch * get_regcache_arch(const struct regcache *regcache)
#define XTENSA_ELF_XTREG_SIZE
struct gdbarch_tdep * gdbarch_tdep(struct gdbarch *gdbarch)
void _initialize_xtensa_linux_nat(void)
int gdbarch_ps_regnum(struct gdbarch *gdbarch)
static void fetch_xtregs(struct regcache *regcache, int regnum)
static void store_xtregs(struct regcache *regcache, int regnum)
void supply_fpregset(struct regcache *regcache, const gdb_fpregset_t *fpregsetp)
static void store_gregs(struct regcache *regcache, int regnum)
#define GET_THREAD_ID(PTID)
void fill_gregset(const struct regcache *regcache, gdb_gregset_t *gregsetp, int regnum)
void supply_gregset(struct regcache *regcache, const gdb_gregset_t *gregsetp)
GDB_GREGSET_T gdb_gregset_t
xtensa_elf_greg_t windowstart
GDB_FPREGSET_T gdb_fpregset_t
void linux_nat_add_target(struct target_ops *t)
xtensa_elf_greg_t windowbase
void xtensa_linux_fetch_inferior_registers(struct target_ops *ops, struct regcache *regcache, int regnum)
struct target_ops * linux_target(void)
void xtensa_linux_store_inferior_registers(struct target_ops *ops, struct regcache *regcache, int regnum)
int ptid_get_pid(ptid_t ptid)
void(* to_fetch_registers)(struct target_ops *, struct regcache *, int) TARGET_DEFAULT_IGNORE()
void fill_fpregset(const struct regcache *regcache, gdb_fpregset_t *fpregsetp, int regnum)
void void void void void void void void void perror_with_name(const char *string) ATTRIBUTE_NORETURN
static int get_thread_id(ptid_t ptid)
void regcache_raw_supply(struct regcache *regcache, int regnum, const void *buf)
long ptid_get_lwp(ptid_t ptid)
void regcache_raw_collect(const struct regcache *regcache, int regnum, void *buf)
int gdbarch_pc_regnum(struct gdbarch *gdbarch)
void supply_gregset_reg(struct regcache *regcache, const gdb_gregset_t *gregsetp, int regnum)
void(* to_store_registers)(struct target_ops *, struct regcache *, int) TARGET_DEFAULT_NORETURN(noprocess())