From 9ef4651c4930423f9678832f793343059d4ef9ad Mon Sep 17 00:00:00 2001 From: Mike Frysinger Date: Sun, 15 Nov 2015 00:17:02 -0800 Subject: [PATCH] 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. --- sim/mcore/ChangeLog | 9 +++++++++ sim/mcore/Makefile.in | 1 + sim/mcore/interp.c | 10 ++++++---- 3 files changed, 16 insertions(+), 4 deletions(-) diff --git a/sim/mcore/ChangeLog b/sim/mcore/ChangeLog index af698e0f33b..d89050dbca8 100644 --- a/sim/mcore/ChangeLog +++ b/sim/mcore/ChangeLog @@ -1,3 +1,12 @@ +2015-11-15 Mike Frysinger + + * 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 * Makefile.in (SIM_OBJS): Add sim-reason.o and sim-resume.o. diff --git a/sim/mcore/Makefile.in b/sim/mcore/Makefile.in index c66e568b7ef..8e84b0e755c 100644 --- a/sim/mcore/Makefile.in +++ b/sim/mcore/Makefile.in @@ -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 diff --git a/sim/mcore/interp.c b/sim/mcore/interp.c index 7009f00c8cc..6972b7fbea2 100644 --- a/sim/mcore/interp.c +++ b/sim/mcore/interp.c @@ -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; -- 2.30.2