31 int regnamelen,
char *val,
int vallen)
35 if (regnamelen < 2 || regnamelen > 4)
41 if (regname[1] <
'0' || regname[1] >
'9')
44 regno = regname[1] -
'0';
45 else if (regnamelen == 3 && regname[2] >=
'0' && regname[2] <=
'9')
46 regno = (regname[1] -
'0') * 10 + (regname[2] -
'0');
51 if (regname[1] !=
'R' || regname[2] <
'0' || regname[2] >
'9')
54 regno = 32 + regname[2] -
'0';
55 else if (regnamelen == 4 && regname[3] >=
'0' && regname[3] <=
'9')
56 regno = 32 + (regname[2] -
'0') * 10 + (regname[3] -
'0');
61 if (regnamelen != 2 || regname[1] !=
'P')
66 if (regnamelen != 3 || regname[1] !=
'S' || regname[2] !=
'R')
71 if (regnamelen != 2 || regname[1] !=
'R')
76 if (regnamelen != 4 || regname[1] !=
'P' || regname[2] !=
'R')
78 else if (regname[3] ==
'8')
80 else if (regname[3] ==
'9')
82 else if (regname[3] ==
'1')
84 else if (regname[3] ==
'0')
103 "r0",
"r1",
"r2",
"r3",
"r4",
"r5",
"r6",
"r7",
104 "r8",
"r9",
"r10",
"r11",
"r12",
"r13",
"r14",
"r15",
105 "r16",
"r17",
"r18",
"r19",
"r20",
"r21",
"r22",
"r23",
106 "r24",
"r25",
"r26",
"r27",
"r28",
"r29",
"r30",
"r31",
108 "f0",
"f1",
"f2",
"f3",
"f4",
"f5",
"f6",
"f7",
109 "f8",
"f9",
"f10",
"f11",
"f12",
"f13",
"f14",
"f15",
110 "f16",
"f17",
"f18",
"f19",
"f20",
"f21",
"f22",
"f23",
111 "f24",
"f25",
"f26",
"f27",
"f28",
"f29",
"f30",
"f31",
113 "srr0",
"msr",
"cr",
"lr",
"ctr",
"xer",
"xer"
175 Specify the serial device it is connected to (e.g. /dev/ttya).";
void add_target(struct target_ops *t)
static struct monitor_ops dink32_cmds
#define MO_SREC_ACK_ROTATE
initialize_file_ftype _initialize_dink32_rom
#define MO_FILL_USES_ADDR
#define MO_SETREG_INTERACTIVE
static struct target_ops dink32_ops
static void dink32_open(const char *args, int from_tty)
static char * dink32_inits[]
static char * dink32_regnames[]
void(* supply_register)(struct regcache *regcache, char *name, int namelen, char *val, int vallen)
static void dink32_supply_register(struct regcache *regcache, char *regname, int regnamelen, char *val, int vallen)
void initialize_file_ftype(void)
#define MO_CLR_BREAK_1_BASED
#define MONITOR_OPS_MAGIC
void monitor_open(const char *args, struct monitor_ops *mon_ops, int from_tty)
#define SERIAL_1_STOPBITS
#define MO_GETMEM_16_BOUNDARY
void init_monitor_ops(struct target_ops *ops)
#define MO_SETMEM_INTERACTIVE
#define MO_32_REGS_PAIRED
void(* to_open)(const char *, int)
char * monitor_supply_register(struct regcache *regcache, int regno, char *valstr)
struct target_ops * target
const char * to_shortname
#define MO_GETMEM_NEEDS_RANGE
const char *(* regname)(int index)