30 #include <asm/ptrace.h>
32 #define sh_num_regs 41
36 0, 4, 8, 12, 16, 20, 24, 28,
37 32, 36, 40, 44, 48, 52, 56, 60,
39 REG_PC*4, REG_PR*4, REG_GBR*4, -1,
40 REG_MACH*4, REG_MACL*4, REG_SR*4,
41 REG_FPUL*4, REG_FPSCR*4,
43 REG_FPREG0*4+0, REG_FPREG0*4+4, REG_FPREG0*4+8, REG_FPREG0*4+12,
44 REG_FPREG0*4+16, REG_FPREG0*4+20, REG_FPREG0*4+24, REG_FPREG0*4+28,
45 REG_FPREG0*4+32, REG_FPREG0*4+36, REG_FPREG0*4+40, REG_FPREG0*4+44,
46 REG_FPREG0*4+48, REG_FPREG0*4+52, REG_FPREG0*4+56, REG_FPREG0*4+60,
72 unsigned long newpc = pc;
78 #define sh_breakpoint_len 2
86 if (insn == sh_breakpoint)
101 for (i = 0; i < 23; i++)
102 if (sh_regmap[i] != -1)
108 { 0, 0, 0, -1, -1, NULL, NULL }
124 static struct regs_info regs_info =
131 static const struct regs_info *
151 (
const unsigned char *) &sh_breakpoint,
163 initialize_regsets_info (&sh_regsets_info);
void collect_register(struct regcache *regcache, int n, void *buf)
void initialize_low_arch(void)
const struct target_desc * tdesc_sh
void supply_register_by_name(struct regcache *regcache, const char *name, const void *buf)
static struct regset_info sh_regsets[]
static int sh_cannot_fetch_register(int regno)
static void sh_arch_setup(void)
struct target_ops * the_target
const struct target_desc * tdesc
static int sh_breakpoint_at(CORE_ADDR where)
void collect_register_by_name(struct regcache *regcache, const char *name, void *buf)
static struct usrregs_info sh_usrregs_info
static const struct regs_info * sh_regs_info(void)
static struct regs_info regs_info
#define sh_breakpoint_len
struct process_info * current_process(void)
static CORE_ADDR sh_get_pc(struct regcache *regcache)
static void sh_set_pc(struct regcache *regcache, CORE_ADDR pc)
static const unsigned short sh_breakpoint
int(* read_memory)(CORE_ADDR memaddr, unsigned char *myaddr, int len)
static void sh_fill_gregset(struct regcache *regcache, void *buf)
static struct regsets_info sh_regsets_info
void init_registers_sh(void)
static int sh_cannot_store_register(int regno)