diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2007-05-06 14:31:30 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@de.ibm.com> | 2007-05-06 14:31:30 +0000 |
commit | c410a84ca9f4c590dcc494a77d421f5b7019b973 (patch) | |
tree | 903b73e81f4805ddd07f4144b846253c131c6423 /gdb/m32r-rom.c | |
parent | 468e3d51268b65763ec2df63146968944c8cc607 (diff) | |
download | fsf-binutils-gdb-c410a84ca9f4c590dcc494a77d421f5b7019b973.zip fsf-binutils-gdb-c410a84ca9f4c590dcc494a77d421f5b7019b973.tar.gz fsf-binutils-gdb-c410a84ca9f4c590dcc494a77d421f5b7019b973.tar.bz2 |
* 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.
Diffstat (limited to 'gdb/m32r-rom.c')
-rw-r--r-- | gdb/m32r-rom.c | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/gdb/m32r-rom.c b/gdb/m32r-rom.c index f16deeb..4e690c0 100644 --- a/gdb/m32r-rom.c +++ b/gdb/m32r-rom.c @@ -210,7 +210,8 @@ static char *m32r_regnames[] = }; static void -m32r_supply_register (char *regname, int regnamelen, char *val, int vallen) +m32r_supply_register (struct regcache *regcache, char *regname, + int regnamelen, char *val, int vallen) { int regno; int num_regs = sizeof (m32r_regnames) / sizeof (m32r_regnames[0]); @@ -224,14 +225,14 @@ m32r_supply_register (char *regname, int regnamelen, char *val, int vallen) if (regno == ACCL_REGNUM) { /* special handling for 64-bit acc reg */ - monitor_supply_register (ACCH_REGNUM, val); + monitor_supply_register (regcache, ACCH_REGNUM, val); val = strchr (val, ':'); /* skip past ':' to get 2nd word */ if (val != NULL) - monitor_supply_register (ACCL_REGNUM, val + 1); + monitor_supply_register (regcache, ACCL_REGNUM, val + 1); } else { - monitor_supply_register (regno, val); + monitor_supply_register (regcache, regno, val); if (regno == PSW_REGNUM) { unsigned long psw = strtoul (val, NULL, 16); @@ -239,45 +240,45 @@ m32r_supply_register (char *regname, int regnamelen, char *val, int vallen) #ifdef SM_REGNUM /* Stack mode bit */ - monitor_supply_register (SM_REGNUM, (psw & 0x80) ? one : zero); + monitor_supply_register (regcache, SM_REGNUM, (psw & 0x80) ? one : zero); #endif #ifdef BSM_REGNUM /* Backup stack mode bit */ - monitor_supply_register (BSM_REGNUM, (psw & 0x8000) ? one : zero); + monitor_supply_register (regcache, BSM_REGNUM, (psw & 0x8000) ? one : zero); #endif #ifdef IE_REGNUM /* Interrupt enable bit */ - monitor_supply_register (IE_REGNUM, (psw & 0x40) ? one : zero); + monitor_supply_register (regcache, IE_REGNUM, (psw & 0x40) ? one : zero); #endif #ifdef BIE_REGNUM /* Backup interrupt enable bit */ - monitor_supply_register (BIE_REGNUM, (psw & 0x4000) ? one : zero); + monitor_supply_register (regcache, BIE_REGNUM, (psw & 0x4000) ? one : zero); #endif #ifdef COND_REGNUM /* Condition bit (carry etc.) */ - monitor_supply_register (COND_REGNUM, (psw & 0x1) ? one : zero); + monitor_supply_register (regcache, COND_REGNUM, (psw & 0x1) ? one : zero); #endif #ifdef CBR_REGNUM - monitor_supply_register (CBR_REGNUM, (psw & 0x1) ? one : zero); + monitor_supply_register (regcache, CBR_REGNUM, (psw & 0x1) ? one : zero); #endif #ifdef BPC_REGNUM - monitor_supply_register (BPC_REGNUM, zero); /* KLUDGE: (???????) */ + monitor_supply_register (regcache, BPC_REGNUM, zero); /* KLUDGE: (???????) */ #endif #ifdef BCARRY_REGNUM - monitor_supply_register (BCARRY_REGNUM, zero); /* KLUDGE: (??????) */ + monitor_supply_register (regcache, BCARRY_REGNUM, zero); /* KLUDGE: (??????) */ #endif } if (regno == SPI_REGNUM || regno == SPU_REGNUM) { /* special handling for stack pointer (spu or spi) */ ULONGEST stackmode, psw; - regcache_cooked_read_unsigned (current_regcache, PSW_REGNUM, &psw); + regcache_cooked_read_unsigned (regcache, PSW_REGNUM, &psw); stackmode = psw & 0x80; if (regno == SPI_REGNUM && !stackmode) /* SP == SPI */ - monitor_supply_register (SP_REGNUM, val); + monitor_supply_register (regcache, SP_REGNUM, val); else if (regno == SPU_REGNUM && stackmode) /* SP == SPU */ - monitor_supply_register (SP_REGNUM, val); + monitor_supply_register (regcache, SP_REGNUM, val); } } } |