diff options
author | Andrew Cagney <cagney@redhat.com> | 2002-08-02 18:08:31 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2002-08-02 18:08:31 +0000 |
commit | 68365089fc7e8091f6b10a724a499f0e405721d4 (patch) | |
tree | f5f6df0b89c1b90b38a2e9d89b2305d0199144b2 /gdb/regcache.c | |
parent | d8124050fd13563f995362c89e3ac581ec282678 (diff) | |
download | fsf-binutils-gdb-68365089fc7e8091f6b10a724a499f0e405721d4.zip fsf-binutils-gdb-68365089fc7e8091f6b10a724a499f0e405721d4.tar.gz fsf-binutils-gdb-68365089fc7e8091f6b10a724a499f0e405721d4.tar.bz2 |
Add the cooked register interface.
Diffstat (limited to 'gdb/regcache.c')
-rw-r--r-- | gdb/regcache.c | 32 |
1 files changed, 22 insertions, 10 deletions
diff --git a/gdb/regcache.c b/gdb/regcache.c index 7d4a8d6..70af8f0 100644 --- a/gdb/regcache.c +++ b/gdb/regcache.c @@ -719,16 +719,21 @@ read_register_gen (int regnum, char *buf) legacy_read_register_gen (regnum, buf); return; } + regcache_cooked_read (current_regcache, regnum, buf); +} + +void +regcache_cooked_read (struct regcache *regcache, int rawnum, void *buf) +{ gdb_assert (regnum >= 0); - gdb_assert (regnum < current_regcache->descr->nr_cooked_registers); - if (regnum < current_regcache->descr->nr_raw_registers) - regcache_raw_read (current_regcache, regnum, buf); + gdb_assert (regnum < regcache->descr->nr_cooked_registers); + if (regnum < regcache->descr->nr_raw_registers) + regcache_raw_read (regcache, regnum, buf); else - gdbarch_pseudo_register_read (current_gdbarch, current_regcache, - regnum, buf); + gdbarch_pseudo_register_read (regcache->descr->gdbarch, regcache, + regnum, buf); } - /* Write register REGNUM at MYADDR to the target. MYADDR points at REGISTER_RAW_BYTES(REGNUM), which must be in target byte-order. */ @@ -834,12 +839,19 @@ write_register_gen (int regnum, char *buf) legacy_write_register_gen (regnum, buf); return; } + regcache_cooked_write (current_regcache, regnum, buf); +} + +void +regcache_cooked_write (struct regcache *regcache, int rawnum, + const void *buf) +{ gdb_assert (regnum >= 0); - gdb_assert (regnum < current_regcache->descr->nr_cooked_registers); - if (regnum < current_regcache->descr->nr_raw_registers) - regcache_raw_write (current_regcache, regnum, buf); + gdb_assert (regnum < regcache->descr->nr_cooked_registers); + if (regnum < regcache->descr->nr_raw_registers) + regcache_raw_write (regcache, regnum, buf); else - gdbarch_pseudo_register_write (current_gdbarch, current_regcache, + gdbarch_pseudo_register_write (regcache->descr->gdbarch, regcache, regnum, buf); } |