27 #include <asm/ptrace.h>
28 #include <xtensa-config.h>
43 elf_greg_t* rset = (elf_greg_t*)buf;
52 ptr = (
char*)&rset[
R_A0];
54 for (i = ar0_regnum; i < ar0_regnum + XCHAL_NUM_AREGS; i++)
78 const elf_greg_t* rset = (
const elf_greg_t*)buf;
87 ptr = (
char *)&rset[
R_A0];
89 for (i = ar0_regnum; i < ar0_regnum + XCHAL_NUM_AREGS; i++)
137 { PTRACE_GETREGS, PTRACE_SETREGS, 0,
sizeof (elf_gregset_t),
143 { 0, 0, 0, -1, -1, NULL, NULL }
147 #define XTENSA_BREAKPOINT {0xd2,0x0f}
149 #define XTENSA_BREAKPOINT {0x2d,0xf0}
153 #define xtensa_breakpoint_len 2
167 unsigned long newpc = pc;
178 return memcmp((
char *) &insn,
182 static struct regsets_info xtensa_regsets_info =
189 static struct regs_info regs_info =
202 static const struct regs_info *
230 initialize_regsets_info (&xtensa_regsets_info);
const struct target_desc * tdesc
const xtensa_regtable_t xtensa_regmap_table[]
static void xtensa_set_pc(struct regcache *regcache, CORE_ADDR pc)
void collect_register(struct regcache *regcache, int n, void *buf)
void supply_register_by_name(struct regcache *regcache, const char *name, const void *buf)
static struct regs_info regs_info
#define XTENSA_ELF_XTREG_SIZE
static struct regset_info xtensa_regsets[]
static CORE_ADDR xtensa_get_pc(struct regcache *regcache)
static void xtensa_fill_xtregset(struct regcache *regcache, void *buf)
struct target_ops * the_target
const struct target_desc * tdesc
void initialize_low_arch(void)
static const unsigned char xtensa_breakpoint[]
static void xtensa_fill_gregset(struct regcache *regcache, void *buf)
void collect_register_by_name(struct regcache *regcache, const char *name, void *buf)
static void xtensa_arch_setup(void)
static const struct regs_info * xtensa_regs_info(void)
void init_registers_xtensa(void)
static int xtensa_breakpoint_at(CORE_ADDR where)
int register_size(const struct target_desc *tdesc, int n)
const struct target_desc * tdesc_xtensa
struct process_info * current_process(void)
static void xtensa_store_xtregset(struct regcache *regcache, const void *buf)
#define XTENSA_BREAKPOINT
int find_regno(const struct target_desc *tdesc, const char *name)
#define xtensa_breakpoint_len
int(* read_memory)(CORE_ADDR memaddr, unsigned char *myaddr, int len)
void supply_register(struct regcache *regcache, int n, const void *buf)
static void xtensa_store_gregset(struct regcache *regcache, const void *buf)