Lines Matching refs:regnum
160 register_type (struct gdbarch *gdbarch, int regnum) in register_type() argument
163 gdb_assert (regnum >= 0 && regnum < descr->nr_cooked_registers); in register_type()
164 return descr->register_type[regnum]; in register_type()
171 register_size (struct gdbarch *gdbarch, int regnum) in register_size() argument
175 gdb_assert (regnum >= 0 && regnum < (NUM_REGS + NUM_PSEUDO_REGS)); in register_size()
176 size = descr->sizeof_register[regnum]; in register_size()
249 register_buffer (const struct regcache *regcache, int regnum) in register_buffer() argument
251 return regcache->registers + regcache->descr->register_offset[regnum]; in register_buffer()
260 int regnum; in regcache_save() local
272 for (regnum = 0; regnum < dst->descr->nr_cooked_registers; regnum++) in regcache_save()
274 if (gdbarch_register_reggroup_p (gdbarch, regnum, save_reggroup)) in regcache_save()
276 int valid = cooked_read (src, regnum, buf); in regcache_save()
279 memcpy (register_buffer (dst, regnum), buf, in regcache_save()
280 register_size (gdbarch, regnum)); in regcache_save()
281 dst->register_valid_p[regnum] = 1; in regcache_save()
294 int regnum; in regcache_restore() local
302 for (regnum = 0; regnum < dst->descr->nr_cooked_registers; regnum++) in regcache_restore()
304 if (gdbarch_register_reggroup_p (gdbarch, regnum, restore_reggroup)) in regcache_restore()
306 int valid = cooked_read (src, regnum, buf); in regcache_restore()
308 regcache_cooked_write (dst, regnum, buf); in regcache_restore()
314 do_cooked_read (void *src, int regnum, void *buf) in do_cooked_read() argument
317 if (!regcache->register_valid_p[regnum] && regcache->readonly_p) in do_cooked_read()
322 regcache_cooked_read (regcache, regnum, buf); in do_cooked_read()
380 regcache_valid_p (struct regcache *regcache, int regnum) in regcache_valid_p() argument
383 gdb_assert (regnum >= 0 && regnum < regcache->descr->nr_raw_registers); in regcache_valid_p()
384 return regcache->register_valid_p[regnum]; in regcache_valid_p()
435 register_cached (int regnum) in register_cached() argument
437 return deprecated_register_valid[regnum]; in register_cached()
444 set_register_cached (int regnum, int state) in set_register_cached() argument
446 gdb_assert (regnum >= 0); in set_register_cached()
447 gdb_assert (regnum < current_regcache->descr->nr_raw_registers); in set_register_cached()
448 current_regcache->register_valid_p[regnum] = state; in set_register_cached()
536 int regnum; in deprecated_read_register_bytes() local
542 for (regnum = 0; regnum < NUM_REGS + NUM_PSEUDO_REGS; regnum++) in deprecated_read_register_bytes()
551 reg_start = DEPRECATED_REGISTER_BYTE (regnum); in deprecated_read_register_bytes()
552 reg_len = register_size (current_gdbarch, regnum); in deprecated_read_register_bytes()
559 if (REGISTER_NAME (regnum) != NULL && *REGISTER_NAME (regnum) != '\0') in deprecated_read_register_bytes()
561 deprecated_read_register_gen (regnum, reg_buf); in deprecated_read_register_bytes()
599 regcache_raw_read (struct regcache *regcache, int regnum, void *buf) in regcache_raw_read() argument
602 gdb_assert (regnum >= 0 && regnum < regcache->descr->nr_raw_registers); in regcache_raw_read()
615 if (!register_cached (regnum)) in regcache_raw_read()
616 target_fetch_registers (regnum); in regcache_raw_read()
624 gdb_assert (register_cached (regnum)); in regcache_raw_read()
628 memcpy (buf, register_buffer (regcache, regnum), in regcache_raw_read()
629 regcache->descr->sizeof_register[regnum]); in regcache_raw_read()
633 regcache_raw_read_signed (struct regcache *regcache, int regnum, LONGEST *val) in regcache_raw_read_signed() argument
637 gdb_assert (regnum >= 0 && regnum < regcache->descr->nr_raw_registers); in regcache_raw_read_signed()
638 buf = alloca (regcache->descr->sizeof_register[regnum]); in regcache_raw_read_signed()
639 regcache_raw_read (regcache, regnum, buf); in regcache_raw_read_signed()
641 regcache->descr->sizeof_register[regnum]); in regcache_raw_read_signed()
645 regcache_raw_read_unsigned (struct regcache *regcache, int regnum, in regcache_raw_read_unsigned() argument
650 gdb_assert (regnum >= 0 && regnum < regcache->descr->nr_raw_registers); in regcache_raw_read_unsigned()
651 buf = alloca (regcache->descr->sizeof_register[regnum]); in regcache_raw_read_unsigned()
652 regcache_raw_read (regcache, regnum, buf); in regcache_raw_read_unsigned()
654 regcache->descr->sizeof_register[regnum]); in regcache_raw_read_unsigned()
658 regcache_raw_write_signed (struct regcache *regcache, int regnum, LONGEST val) in regcache_raw_write_signed() argument
662 gdb_assert (regnum >=0 && regnum < regcache->descr->nr_raw_registers); in regcache_raw_write_signed()
663 buf = alloca (regcache->descr->sizeof_register[regnum]); in regcache_raw_write_signed()
664 store_signed_integer (buf, regcache->descr->sizeof_register[regnum], val); in regcache_raw_write_signed()
665 regcache_raw_write (regcache, regnum, buf); in regcache_raw_write_signed()
669 regcache_raw_write_unsigned (struct regcache *regcache, int regnum, in regcache_raw_write_unsigned() argument
674 gdb_assert (regnum >=0 && regnum < regcache->descr->nr_raw_registers); in regcache_raw_write_unsigned()
675 buf = alloca (regcache->descr->sizeof_register[regnum]); in regcache_raw_write_unsigned()
676 store_unsigned_integer (buf, regcache->descr->sizeof_register[regnum], val); in regcache_raw_write_unsigned()
677 regcache_raw_write (regcache, regnum, buf); in regcache_raw_write_unsigned()
681 deprecated_read_register_gen (int regnum, char *buf) in deprecated_read_register_gen() argument
685 regcache_cooked_read (current_regcache, regnum, buf); in deprecated_read_register_gen()
689 regcache_cooked_read (struct regcache *regcache, int regnum, void *buf) in regcache_cooked_read() argument
691 gdb_assert (regnum >= 0); in regcache_cooked_read()
692 gdb_assert (regnum < regcache->descr->nr_cooked_registers); in regcache_cooked_read()
693 if (regnum < regcache->descr->nr_raw_registers) in regcache_cooked_read()
694 regcache_raw_read (regcache, regnum, buf); in regcache_cooked_read()
696 && regnum < regcache->descr->nr_cooked_registers in regcache_cooked_read()
697 && regcache->register_valid_p[regnum]) in regcache_cooked_read()
699 memcpy (buf, register_buffer (regcache, regnum), in regcache_cooked_read()
700 regcache->descr->sizeof_register[regnum]); in regcache_cooked_read()
703 regnum, buf); in regcache_cooked_read()
707 regcache_cooked_read_signed (struct regcache *regcache, int regnum, in regcache_cooked_read_signed() argument
712 gdb_assert (regnum >= 0 && regnum < regcache->descr->nr_cooked_registers); in regcache_cooked_read_signed()
713 buf = alloca (regcache->descr->sizeof_register[regnum]); in regcache_cooked_read_signed()
714 regcache_cooked_read (regcache, regnum, buf); in regcache_cooked_read_signed()
716 regcache->descr->sizeof_register[regnum]); in regcache_cooked_read_signed()
720 regcache_cooked_read_unsigned (struct regcache *regcache, int regnum, in regcache_cooked_read_unsigned() argument
725 gdb_assert (regnum >= 0 && regnum < regcache->descr->nr_cooked_registers); in regcache_cooked_read_unsigned()
726 buf = alloca (regcache->descr->sizeof_register[regnum]); in regcache_cooked_read_unsigned()
727 regcache_cooked_read (regcache, regnum, buf); in regcache_cooked_read_unsigned()
729 regcache->descr->sizeof_register[regnum]); in regcache_cooked_read_unsigned()
733 regcache_cooked_write_signed (struct regcache *regcache, int regnum, in regcache_cooked_write_signed() argument
738 gdb_assert (regnum >=0 && regnum < regcache->descr->nr_cooked_registers); in regcache_cooked_write_signed()
739 buf = alloca (regcache->descr->sizeof_register[regnum]); in regcache_cooked_write_signed()
740 store_signed_integer (buf, regcache->descr->sizeof_register[regnum], val); in regcache_cooked_write_signed()
741 regcache_cooked_write (regcache, regnum, buf); in regcache_cooked_write_signed()
745 regcache_cooked_write_unsigned (struct regcache *regcache, int regnum, in regcache_cooked_write_unsigned() argument
750 gdb_assert (regnum >=0 && regnum < regcache->descr->nr_cooked_registers); in regcache_cooked_write_unsigned()
751 buf = alloca (regcache->descr->sizeof_register[regnum]); in regcache_cooked_write_unsigned()
752 store_unsigned_integer (buf, regcache->descr->sizeof_register[regnum], val); in regcache_cooked_write_unsigned()
753 regcache_cooked_write (regcache, regnum, buf); in regcache_cooked_write_unsigned()
757 regcache_raw_write (struct regcache *regcache, int regnum, const void *buf) in regcache_raw_write() argument
760 gdb_assert (regnum >= 0 && regnum < regcache->descr->nr_raw_registers); in regcache_raw_write()
765 if (CANNOT_STORE_REGISTER (regnum)) in regcache_raw_write()
778 if (regcache_valid_p (regcache, regnum) in regcache_raw_write()
779 && (memcmp (register_buffer (regcache, regnum), buf, in regcache_raw_write()
780 regcache->descr->sizeof_register[regnum]) == 0)) in regcache_raw_write()
784 memcpy (register_buffer (regcache, regnum), buf, in regcache_raw_write()
785 regcache->descr->sizeof_register[regnum]); in regcache_raw_write()
786 regcache->register_valid_p[regnum] = 1; in regcache_raw_write()
787 target_store_registers (regnum); in regcache_raw_write()
791 deprecated_write_register_gen (int regnum, char *buf) in deprecated_write_register_gen() argument
795 regcache_cooked_write (current_regcache, regnum, buf); in deprecated_write_register_gen()
799 regcache_cooked_write (struct regcache *regcache, int regnum, const void *buf) in regcache_cooked_write() argument
801 gdb_assert (regnum >= 0); in regcache_cooked_write()
802 gdb_assert (regnum < regcache->descr->nr_cooked_registers); in regcache_cooked_write()
803 if (regnum < regcache->descr->nr_raw_registers) in regcache_cooked_write()
804 regcache_raw_write (regcache, regnum, buf); in regcache_cooked_write()
807 regnum, buf); in regcache_cooked_write()
817 int regnum; in deprecated_write_register_bytes() local
826 for (regnum = 0; regnum < NUM_REGS + NUM_PSEUDO_REGS; regnum++) in deprecated_write_register_bytes()
830 regstart = DEPRECATED_REGISTER_BYTE (regnum); in deprecated_write_register_bytes()
831 regend = regstart + register_size (current_gdbarch, regnum); in deprecated_write_register_bytes()
839 deprecated_write_register_gen (regnum, myaddr + (regstart - myregstart)); in deprecated_write_register_bytes()
852 deprecated_read_register_gen (regnum, regbuf); in deprecated_write_register_bytes()
858 target_store_registers (regnum); in deprecated_write_register_bytes()
866 typedef void (regcache_read_ftype) (struct regcache *regcache, int regnum,
868 typedef void (regcache_write_ftype) (struct regcache *regcache, int regnum,
872 regcache_xfer_part (struct regcache *regcache, int regnum, in regcache_xfer_part() argument
878 gdb_assert (offset >= 0 && offset <= descr->sizeof_register[regnum]); in regcache_xfer_part()
879 gdb_assert (len >= 0 && offset + len <= descr->sizeof_register[regnum]); in regcache_xfer_part()
886 || offset + len < descr->sizeof_register[regnum]) in regcache_xfer_part()
889 read (regcache, regnum, reg); in regcache_xfer_part()
900 write (regcache, regnum, reg); in regcache_xfer_part()
905 regcache_raw_read_part (struct regcache *regcache, int regnum, in regcache_raw_read_part() argument
909 gdb_assert (regnum >= 0 && regnum < descr->nr_raw_registers); in regcache_raw_read_part()
910 regcache_xfer_part (regcache, regnum, offset, len, buf, NULL, in regcache_raw_read_part()
915 regcache_raw_write_part (struct regcache *regcache, int regnum, in regcache_raw_write_part() argument
919 gdb_assert (regnum >= 0 && regnum < descr->nr_raw_registers); in regcache_raw_write_part()
920 regcache_xfer_part (regcache, regnum, offset, len, NULL, buf, in regcache_raw_write_part()
925 regcache_cooked_read_part (struct regcache *regcache, int regnum, in regcache_cooked_read_part() argument
929 gdb_assert (regnum >= 0 && regnum < descr->nr_cooked_registers); in regcache_cooked_read_part()
930 regcache_xfer_part (regcache, regnum, offset, len, buf, NULL, in regcache_cooked_read_part()
935 regcache_cooked_write_part (struct regcache *regcache, int regnum, in regcache_cooked_write_part() argument
939 gdb_assert (regnum >= 0 && regnum < descr->nr_cooked_registers); in regcache_cooked_write_part()
940 regcache_xfer_part (regcache, regnum, offset, len, NULL, buf, in regcache_cooked_write_part()
948 register_offset_hack (struct gdbarch *gdbarch, int regnum) in register_offset_hack() argument
951 gdb_assert (regnum >= 0 && regnum < descr->nr_cooked_registers); in register_offset_hack()
952 return descr->register_offset[regnum]; in register_offset_hack()
966 read_register (int regnum) in read_register() argument
968 char *buf = alloca (register_size (current_gdbarch, regnum)); in read_register()
969 deprecated_read_register_gen (regnum, buf); in read_register()
970 return (extract_unsigned_integer (buf, register_size (current_gdbarch, regnum))); in read_register()
974 read_register_pid (int regnum, ptid_t ptid) in read_register_pid() argument
981 return read_register (regnum); in read_register_pid()
987 retval = read_register (regnum); in read_register_pid()
997 write_register (int regnum, LONGEST val) in write_register() argument
1001 size = register_size (current_gdbarch, regnum); in write_register()
1004 deprecated_write_register_gen (regnum, buf); in write_register()
1008 write_register_pid (int regnum, CORE_ADDR val, ptid_t ptid) in write_register_pid() argument
1014 write_register (regnum, val); in write_register_pid()
1022 write_register (regnum, val); in write_register_pid()
1030 regcache_raw_supply (struct regcache *regcache, int regnum, const void *buf) in regcache_raw_supply() argument
1036 gdb_assert (regnum >= 0 && regnum < regcache->descr->nr_raw_registers); in regcache_raw_supply()
1048 regbuf = register_buffer (regcache, regnum); in regcache_raw_supply()
1049 size = regcache->descr->sizeof_register[regnum]; in regcache_raw_supply()
1057 regcache->register_valid_p[regnum] = 1; in regcache_raw_supply()
1063 regcache_raw_collect (const struct regcache *regcache, int regnum, void *buf) in regcache_raw_collect() argument
1069 gdb_assert (regnum >= 0 && regnum < regcache->descr->nr_raw_registers); in regcache_raw_collect()
1071 regbuf = register_buffer (regcache, regnum); in regcache_raw_collect()
1072 size = regcache->descr->sizeof_register[regnum]; in regcache_raw_collect()
1216 int regnum; in regcache_dump() local
1240 for (regnum = -1; regnum < regcache->descr->nr_cooked_registers; regnum++) in regcache_dump()
1243 if (regnum < 0) in regcache_dump()
1247 const char *p = REGISTER_NAME (regnum); in regcache_dump()
1256 if (regnum < 0) in regcache_dump()
1259 fprintf_unfiltered (file, " %4d", regnum); in regcache_dump()
1262 if (regnum < 0) in regcache_dump()
1264 else if (regnum < NUM_REGS) in regcache_dump()
1265 fprintf_unfiltered (file, " %4d", regnum); in regcache_dump()
1267 fprintf_unfiltered (file, " %4d", (regnum - NUM_REGS)); in regcache_dump()
1270 if (regnum < 0) in regcache_dump()
1275 regcache->descr->register_offset[regnum]); in regcache_dump()
1276 if (register_offset != regcache->descr->register_offset[regnum] in regcache_dump()
1277 || register_offset != DEPRECATED_REGISTER_BYTE (regnum) in regcache_dump()
1278 || (regnum > 0 in regcache_dump()
1279 && (regcache->descr->register_offset[regnum] in regcache_dump()
1280 != (regcache->descr->register_offset[regnum - 1] in regcache_dump()
1281 + regcache->descr->sizeof_register[regnum - 1]))) in regcache_dump()
1290 register_offset = (regcache->descr->register_offset[regnum] in regcache_dump()
1291 + regcache->descr->sizeof_register[regnum]); in regcache_dump()
1295 if (regnum < 0) in regcache_dump()
1299 regcache->descr->sizeof_register[regnum]); in regcache_dump()
1304 if (regnum < 0) in regcache_dump()
1309 t = TYPE_NAME (register_type (regcache->descr->gdbarch, regnum)); in regcache_dump()
1332 if (regnum < 0) in regcache_dump()
1334 else if (regnum >= regcache->descr->nr_raw_registers) in regcache_dump()
1336 else if (!regcache_valid_p (regcache, regnum)) in regcache_dump()
1340 regcache_raw_read (regcache, regnum, buf); in regcache_dump()
1343 regcache->descr->sizeof_register[regnum]); in regcache_dump()
1350 if (regnum < 0) in regcache_dump()
1354 regcache_cooked_read (regcache, regnum, buf); in regcache_dump()
1357 regcache->descr->sizeof_register[regnum]); in regcache_dump()
1364 if (regnum < 0) in regcache_dump()
1374 if (gdbarch_register_reggroup_p (gdbarch, regnum, group)) in regcache_dump()