sim: mcore: switch to common sim-reg

This is not entirely useful as mcore doesn't (yet) store its register
state in the cpu state, but it does allow for switching to the common
code for these functions.
This commit is contained in:
Mike Frysinger 2015-11-15 00:17:02 -08:00
parent 5809534fe1
commit 9ef4651c49
3 changed files with 16 additions and 4 deletions

View File

@ -1,3 +1,12 @@
2015-11-15 Mike Frysinger <vapier@gentoo.org>
* Makefile.in (SIM_OBJS): Add sim-reg.o.
* interp.c (sim_store_register): Rename to ...
(mcore_reg_store): ... this. Change SIM_DESC to SIM_CPU.
(sim_fetch_register): Rename to ...
(mcore_reg_fetch): ... this. Change SIM_DESC to SIM_CPU.
(sim_open): Call CPU_REG_FETCH and CPU_REG_STORE.
2015-11-15 Mike Frysinger <vapier@gentoo.org>
* Makefile.in (SIM_OBJS): Add sim-reason.o and sim-resume.o.

View File

@ -25,6 +25,7 @@ SIM_OBJS = \
$(SIM_NEW_COMMON_OBJS) \
sim-hload.o \
sim-reason.o \
sim-reg.o \
sim-resume.o \
sim-stop.o

View File

@ -1285,8 +1285,8 @@ sim_engine_run (SIM_DESC sd,
}
}
int
sim_store_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
static int
mcore_reg_store (SIM_CPU *scpu, int rn, unsigned char *memory, int length)
{
if (rn < NUM_MCORE_REGS && rn >= 0)
{
@ -1305,8 +1305,8 @@ sim_store_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
return 0;
}
int
sim_fetch_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
static int
mcore_reg_fetch (SIM_CPU *scpu, int rn, unsigned char *memory, int length)
{
if (rn < NUM_MCORE_REGS && rn >= 0)
{
@ -1447,6 +1447,8 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb, struct bfd *abfd, char **argv)
{
SIM_CPU *cpu = STATE_CPU (sd, i);
CPU_REG_FETCH (cpu) = mcore_reg_fetch;
CPU_REG_STORE (cpu) = mcore_reg_store;
CPU_PC_FETCH (cpu) = mcore_pc_get;
CPU_PC_STORE (cpu) = mcore_pc_set;