31#include "gdbsupport/gdb_wait.h"
33#include <sys/procfs.h>
35#include <asm/ptrace.h>
94 && regnum < tdep->ar_base
105 && regnum < tdep->a0_base +
C0_NREGS)
156 && regnum < tdep->ar_base
167 && regnum < tdep->a0_base +
C0_NREGS)
212 perror_with_name (_(
"Couldn't get registers"));
230 perror_with_name (_(
"Couldn't get registers"));
238 perror_with_name (_(
"Couldn't write registers"));
256 if (
ptrace (PTRACE_GETXTREGS, tid, 0, (
long)&xtregs) < 0)
257 perror_with_name (_(
"Couldn't get extended registers"));
271 if (
ptrace (PTRACE_GETXTREGS, tid, 0, (
long)&xtregs) < 0)
272 perror_with_name (_(
"Couldn't get extended registers"));
278 if (
ptrace (PTRACE_SETXTREGS, tid, 0, (
long)&xtregs) < 0)
279 perror_with_name (_(
"Couldn't write extended registers"));
316 lwpid_t lwpid,
int idx,
void **base)
326 *base = (
void *) ((
char *) regs.
threadptr - idx);
void raw_collect(int regnum, void *buf) const override
void raw_supply(int regnum, const void *buf) override
void fetch_registers(struct regcache *, int) override
void store_registers(struct regcache *, int) override
#define ptrace(request, pid, addr, data)
int gdbarch_pc_regnum(struct gdbarch *gdbarch)
int gdbarch_ps_regnum(struct gdbarch *gdbarch)
GDB_FPREGSET_T gdb_fpregset_t
GDB_GREGSET_T gdb_gregset_t
void add_inf_child_target(inf_child_target *target)
struct linux_nat_target * linux_target
xtensa_elf_greg_t windowstart
xtensa_elf_greg_t windowbase
xtensa_elf_greg_t threadptr
static void supply_gregset_reg(struct regcache *regcache, const gdb_gregset_t *gregsetp, int regnum)
void supply_gregset(struct regcache *regcache, const gdb_gregset_t *gregsetp)
void fill_fpregset(const struct regcache *regcache, gdb_fpregset_t *fpregsetp, int regnum)
void fill_gregset(const struct regcache *regcache, gdb_gregset_t *gregsetp, int regnum)
static xtensa_linux_nat_target the_xtensa_linux_nat_target
void supply_fpregset(struct regcache *regcache, const gdb_fpregset_t *fpregsetp)
ps_err_e ps_get_thread_area(struct ps_prochandle *ph, lwpid_t lwpid, int idx, void **base)
void _initialize_xtensa_linux_nat()
static void store_xtregs(struct regcache *regcache, int regnum)
static void store_gregs(struct regcache *regcache, int regnum)
static void fetch_xtregs(struct regcache *regcache, int regnum)
static void fetch_gregs(struct regcache *regcache, int regnum)
#define XTENSA_ELF_XTREG_SIZE
const xtensa_regtable_t xtensa_regmap_table[]