* monitor.c (monitor_supply_register): Add REGCACHE parameter, use

it instead of current_regcache.
	(parse_register_dump): Add REGCACHE parameter, pass it to
	supply_register callback.
	(monitor_dump_reg_block): Add REGCACHE parameter, pass it to
	parse_register_dump.
	(monitor_dump_regs): Add REGCACHE parameter, pass it to
	parse_register_dump and dumpregs callback.
	(monitor_wait): Pass current_regcache to parse_register_dump and
	monitor_dump_regs.
	(monitor_fetch_register): Pass current_regcache to
	monitor_supply_register.
	(monitor_fetch_registers): Pass current_regcache to
	monitor_dump_regs.
	* monitor.h (struct monitor_ops): Add REGCACHE parameter to
	supply_register and dumpregs callbacks.
	(monitor_supply_register, monitor_dump_reg_block): Update
	prototypes.
	* dbug-rom.c (dbug_supply_register): Add REGCACHE parameter.  Pass
	it to monitor_supply_register.
	* dink32-rom.c (dink32_supply_register): Likewise.
	* ppcbug-rom.c (ppcbug_supply_register): Likewise.
	* m32r-rom.c (m32r_supply_register): Likewise.  Also, use REGCACHE
	instead of current_regcache.
This commit is contained in:
Ulrich Weigand
2007-05-06 14:31:30 +00:00
parent 468e3d5126
commit c410a84ca9
7 changed files with 73 additions and 39 deletions

View File

@@ -100,10 +100,11 @@ struct monitor_ops
GDB with the value of a register. */
char *dump_registers; /* Command to dump all regs at once */
char *register_pattern; /* Pattern that picks out register from reg dump */
void (*supply_register) (char *name, int namelen, char *val, int vallen);
void (*supply_register) (struct regcache *regcache, char *name,
int namelen, char *val, int vallen);
void (*load_routine) (struct serial *desc, char *file,
int hashmark); /* Download routine */
int (*dumpregs) (void); /* routine to dump all registers */
int (*dumpregs) (struct regcache *); /* Dump all registers */
int (*continue_hook) (void); /* Emit the continue command */
int (*wait_filter) (char *buf, /* Maybe contains registers */
int bufmax,
@@ -242,7 +243,8 @@ struct monitor_ops
extern void monitor_open (char *args, struct monitor_ops *ops, int from_tty);
extern void monitor_close (int quitting);
extern char *monitor_supply_register (int regno, char *valstr);
extern char *monitor_supply_register (struct regcache *regcache,
int regno, char *valstr);
extern int monitor_expect (char *prompt, char *buf, int buflen);
extern int monitor_expect_prompt (char *buf, int buflen);
/* Note: The variable argument functions monitor_printf and
@@ -255,6 +257,6 @@ extern void monitor_write (char *buf, int buflen);
extern int monitor_readchar (void);
extern char *monitor_get_dev_name (void);
extern void init_monitor_ops (struct target_ops *);
extern int monitor_dump_reg_block (char *dump_cmd);
extern int monitor_dump_reg_block (struct regcache *regcache, char *dump_cmd);
#endif