Add "acc" register. Revise register order and names.

This commit is contained in:
Kevin Buettner
2010-06-24 20:38:05 +00:00
parent 1843028924
commit fd60dc691f
6 changed files with 42 additions and 11 deletions

View File

@ -1,3 +1,12 @@
2010-06-24 Kevin Buettner <kevinb@redhat.com>
* rx-tdep.c (RX_ACC_REGNUM): Define.
(RX_NUM_REGS): Redefine to 26.
(rx_register_name): Add register "acc". Change order of several
registers. Change name of "vct" register to "fintv" to match RX
documentation.
(rx_register_type): Add case for RX_ACC_REGNUM.
2010-06-24 Tom Tromey <tromey@redhat.com> 2010-06-24 Tom Tromey <tromey@redhat.com>
* psymtab.c (lookup_partial_symbol): Mark definition as static. * psymtab.c (lookup_partial_symbol): Mark definition as static.

View File

@ -46,7 +46,8 @@ enum
RX_FP_REGNUM = 6, RX_FP_REGNUM = 6,
RX_R15_REGNUM = 15, RX_R15_REGNUM = 15,
RX_PC_REGNUM = 19, RX_PC_REGNUM = 19,
RX_NUM_REGS = 25 RX_ACC_REGNUM = 25,
RX_NUM_REGS = 26
}; };
/* Architecture specific data. */ /* Architecture specific data. */
@ -111,15 +112,16 @@ rx_register_name (struct gdbarch *gdbarch, int regnr)
"r13", "r13",
"r14", "r14",
"r15", "r15",
"isp",
"usp", "usp",
"intb", "isp",
"pc",
"psw", "psw",
"bpc", "pc",
"intb",
"bpsw", "bpsw",
"vct", "bpc",
"fpsw" "fintv",
"fpsw",
"acc"
}; };
return reg_names[regnr]; return reg_names[regnr];
@ -131,6 +133,8 @@ rx_register_type (struct gdbarch *gdbarch, int reg_nr)
{ {
if (reg_nr == RX_PC_REGNUM) if (reg_nr == RX_PC_REGNUM)
return builtin_type (gdbarch)->builtin_func_ptr; return builtin_type (gdbarch)->builtin_func_ptr;
else if (reg_nr == RX_ACC_REGNUM)
return builtin_type (gdbarch)->builtin_unsigned_long_long;
else else
return builtin_type (gdbarch)->builtin_unsigned_long; return builtin_type (gdbarch)->builtin_unsigned_long;
} }

View File

@ -1,3 +1,8 @@
2010-06-24 Kevin Buettner <kevinb@redhat.com>
* sim-rx.h (sim_rx_regnum): Add sim_rx_acc_regnum. Adjust
register order.
2010-04-13 Mike Frysinger <vapier@gentoo.org> 2010-04-13 Mike Frysinger <vapier@gentoo.org>
* callback.h: Strip PARAMS from prototypes. * callback.h: Strip PARAMS from prototypes.

View File

@ -40,15 +40,16 @@ enum sim_rx_regnum
sim_rx_r13_regnum, sim_rx_r13_regnum,
sim_rx_r14_regnum, sim_rx_r14_regnum,
sim_rx_r15_regnum, sim_rx_r15_regnum,
sim_rx_isp_regnum,
sim_rx_usp_regnum, sim_rx_usp_regnum,
sim_rx_intb_regnum, sim_rx_isp_regnum,
sim_rx_pc_regnum,
sim_rx_ps_regnum, sim_rx_ps_regnum,
sim_rx_bpc_regnum, sim_rx_pc_regnum,
sim_rx_intb_regnum,
sim_rx_bpsw_regnum, sim_rx_bpsw_regnum,
sim_rx_bpc_regnum,
sim_rx_fintv_regnum, sim_rx_fintv_regnum,
sim_rx_fpsw_regnum, sim_rx_fpsw_regnum,
sim_rx_acc_regnum,
sim_rx_num_regs sim_rx_num_regs
}; };

View File

@ -1,3 +1,8 @@
2010-06-24 Kevin Buettner <kevinb@redhat.com>
* gdb-if.c (trace.h): Include.
(reg_size, sim_fetch_register): Add cases for sim_rx_acc_regnum.
2010-06-07 Nick Clifton <nickc@redhat.com> 2010-06-07 Nick Clifton <nickc@redhat.com>
* reg.c (set_oszc): Use unsigned int for the mask. * reg.c (set_oszc): Use unsigned int for the mask.

View File

@ -36,6 +36,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "load.h" #include "load.h"
#include "syscalls.h" #include "syscalls.h"
#include "err.h" #include "err.h"
#include "trace.h"
/* Ideally, we'd wrap up all the minisim's data structures in an /* Ideally, we'd wrap up all the minisim's data structures in an
object and pass that around. However, neither GDB nor run needs object and pass that around. However, neither GDB nor run needs
@ -403,6 +404,9 @@ reg_size (enum sim_rx_regnum regno)
case sim_rx_fpsw_regnum: case sim_rx_fpsw_regnum:
size = sizeof (regs.r_fpsw); size = sizeof (regs.r_fpsw);
break; break;
case sim_rx_acc_regnum:
size = sizeof (regs.r_acc);
break;
default: default:
size = 0; size = 0;
break; break;
@ -503,6 +507,9 @@ sim_fetch_register (SIM_DESC sd, int regno, unsigned char *buf, int length)
case sim_rx_fpsw_regnum: case sim_rx_fpsw_regnum:
val = get_reg (fpsw); val = get_reg (fpsw);
break; break;
case sim_rx_acc_regnum:
val = ((DI) get_reg (acchi) << 32) | get_reg (acclo);
break;
default: default:
fprintf (stderr, "rx minisim: unrecognized register number: %d\n", fprintf (stderr, "rx minisim: unrecognized register number: %d\n",
regno); regno);