diff options
author | Mike Frysinger <vapier@gentoo.org> | 2015-04-15 01:22:34 -0400 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2015-04-15 01:25:32 -0400 |
commit | f95f4ed2c4680fea68399691481b277ece11570e (patch) | |
tree | 748d1545cd42a16b83339b64bd02327252079e85 /sim | |
parent | 0ce398f106dac65c3a1d2f7d254213fa652af089 (diff) | |
download | fsf-binutils-gdb-f95f4ed2c4680fea68399691481b277ece11570e.zip fsf-binutils-gdb-f95f4ed2c4680fea68399691481b277ece11570e.tar.gz fsf-binutils-gdb-f95f4ed2c4680fea68399691481b277ece11570e.tar.bz2 |
sim: cris/frv/h8300/iq2000/lm32/m32r/sh64: standardize cpu state
This sets up the sim_state structure and the cpu member to match what we
do in most other sims, and what the common code suggests. This is a step
to unifying on the sim-cpu.o object.
Diffstat (limited to 'sim')
-rw-r--r-- | sim/cris/ChangeLog | 5 | ||||
-rw-r--r-- | sim/cris/sim-main.h | 8 | ||||
-rw-r--r-- | sim/frv/ChangeLog | 5 | ||||
-rw-r--r-- | sim/frv/sim-main.h | 8 | ||||
-rw-r--r-- | sim/h8300/ChangeLog | 7 | ||||
-rw-r--r-- | sim/h8300/compile.c | 10 | ||||
-rw-r--r-- | sim/h8300/sim-main.h | 8 | ||||
-rw-r--r-- | sim/iq2000/ChangeLog | 5 | ||||
-rw-r--r-- | sim/iq2000/sim-main.h | 8 | ||||
-rw-r--r-- | sim/lm32/ChangeLog | 5 | ||||
-rw-r--r-- | sim/lm32/sim-main.h | 8 | ||||
-rw-r--r-- | sim/m32r/ChangeLog | 5 | ||||
-rw-r--r-- | sim/m32r/sim-main.h | 8 | ||||
-rw-r--r-- | sim/sh64/ChangeLog | 5 | ||||
-rw-r--r-- | sim/sh64/sim-main.h | 8 |
15 files changed, 88 insertions, 15 deletions
diff --git a/sim/cris/ChangeLog b/sim/cris/ChangeLog index b69e20f..b1ac591 100644 --- a/sim/cris/ChangeLog +++ b/sim/cris/ChangeLog @@ -1,3 +1,8 @@ +2015-04-15 Mike Frysinger <vapier@gentoo.org> + + * sim-main.h (struct sim_state): Change cpu to an array of pointers. + (STATE_CPU): Handle WITH_SMP. + 2015-04-13 Mike Frysinger <vapier@gentoo.org> * configure: Regenerate. diff --git a/sim/cris/sim-main.h b/sim/cris/sim-main.h index 18c536f..5ae292e 100644 --- a/sim/cris/sim-main.h +++ b/sim/cris/sim-main.h @@ -225,8 +225,12 @@ struct _sim_cpu { /* The sim_state struct. */ struct sim_state { - sim_cpu *cpu; -#define STATE_CPU(sd, n) (/*&*/ (sd)->cpu) + sim_cpu *cpu[MAX_NR_PROCESSORS]; +#if (WITH_SMP) +#define STATE_CPU(sd,n) ((sd)->cpu[n]) +#else +#define STATE_CPU(sd,n) ((sd)->cpu[0]) +#endif CGEN_STATE cgen_state; diff --git a/sim/frv/ChangeLog b/sim/frv/ChangeLog index 9580c56..8e7e995 100644 --- a/sim/frv/ChangeLog +++ b/sim/frv/ChangeLog @@ -1,3 +1,8 @@ +2015-04-15 Mike Frysinger <vapier@gentoo.org> + + * sim-main.h (struct sim_state): Change cpu to an array of pointers. + (STATE_CPU): Handle WITH_SMP. + 2015-04-13 Mike Frysinger <vapier@gentoo.org> * configure: Regenerate. diff --git a/sim/frv/sim-main.h b/sim/frv/sim-main.h index 7528f6a..e7dc1a2 100644 --- a/sim/frv/sim-main.h +++ b/sim/frv/sim-main.h @@ -118,8 +118,12 @@ struct _sim_cpu { /* The sim_state struct. */ struct sim_state { - sim_cpu *cpu; -#define STATE_CPU(sd, n) (/*&*/ (sd)->cpu) + sim_cpu *cpu[MAX_NR_PROCESSORS]; +#if (WITH_SMP) +#define STATE_CPU(sd,n) ((sd)->cpu[n]) +#else +#define STATE_CPU(sd,n) ((sd)->cpu[0]) +#endif CGEN_STATE cgen_state; diff --git a/sim/h8300/ChangeLog b/sim/h8300/ChangeLog index 215a182..1740b3d 100644 --- a/sim/h8300/ChangeLog +++ b/sim/h8300/ChangeLog @@ -1,3 +1,10 @@ +2015-04-15 Mike Frysinger <vapier@gentoo.org> + + * compile.c: Include sim-options.h. + (sim_open): Call sim_cpu_alloc_all instead of sim_cpu_alloc. + * sim-main.h (struct sim_state): Change cpu to an array of pointers. + (STATE_CPU): Handle WITH_SMP. + 2015-04-13 Mike Frysinger <vapier@gentoo.org> * configure: Regenerate. diff --git a/sim/h8300/compile.c b/sim/h8300/compile.c index 2574168..e14c3ab 100644 --- a/sim/h8300/compile.c +++ b/sim/h8300/compile.c @@ -34,6 +34,7 @@ #include "gdb/sim-h8300.h" #include "sys/stat.h" #include "sys/types.h" +#include "sim-options.h" #ifndef SIGTRAP # define SIGTRAP 5 @@ -4886,7 +4887,14 @@ sim_open (SIM_OPEN_KIND kind, sim_cpu *cpu; sd = sim_state_alloc (kind, callback); - sd->cpu = sim_cpu_alloc (sd, 0); + + /* The cpu data is kept in a separately allocated chunk of memory. */ + if (sim_cpu_alloc_all (sd, 1, /*cgen_cpu_max_extra_bytes ()*/0) != SIM_RC_OK) + { + free_state (sd); + return 0; + } + cpu = STATE_CPU (sd, 0); SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER); sim_state_initialize (sd, cpu); diff --git a/sim/h8300/sim-main.h b/sim/h8300/sim-main.h index 964388a..7126fa3 100644 --- a/sim/h8300/sim-main.h +++ b/sim/h8300/sim-main.h @@ -138,7 +138,7 @@ struct _sim_cpu { /* The sim_state struct. */ struct sim_state { - struct _sim_cpu *cpu; + sim_cpu *cpu[MAX_NR_PROCESSORS]; unsigned int sim_cache_size; decoded_inst *sim_cache; unsigned short *cache_idx; @@ -155,7 +155,11 @@ struct sim_state { #define CIA_GET(CPU) (cpu_get_pc (CPU)) #define CIA_SET(CPU, VAL) (cpu_set_pc ((CPU), (VAL))) -#define STATE_CPU(SD, N) ((SD)->cpu) /* Single Processor. */ +#if (WITH_SMP) +#define STATE_CPU(sd,n) ((sd)->cpu[n]) +#else +#define STATE_CPU(sd,n) ((sd)->cpu[0]) +#endif #define cpu_set_pc(CPU, VAL) (((CPU)->pc) = (VAL)) #define cpu_get_pc(CPU) (((CPU)->pc)) diff --git a/sim/iq2000/ChangeLog b/sim/iq2000/ChangeLog index 9da17e5..b590cb0 100644 --- a/sim/iq2000/ChangeLog +++ b/sim/iq2000/ChangeLog @@ -1,3 +1,8 @@ +2015-04-15 Mike Frysinger <vapier@gentoo.org> + + * sim-main.h (struct sim_state): Change cpu to an array of pointers. + (STATE_CPU): Handle WITH_SMP. + 2015-04-13 Mike Frysinger <vapier@gentoo.org> * configure: Regenerate. diff --git a/sim/iq2000/sim-main.h b/sim/iq2000/sim-main.h index d6cb782..623c0a6 100644 --- a/sim/iq2000/sim-main.h +++ b/sim/iq2000/sim-main.h @@ -57,8 +57,12 @@ struct _sim_cpu { /* The sim_state struct. */ struct sim_state { - sim_cpu *cpu; -#define STATE_CPU(sd, n) (/*&*/ (sd)->cpu) + sim_cpu *cpu[MAX_NR_PROCESSORS]; +#if (WITH_SMP) +#define STATE_CPU(sd,n) ((sd)->cpu[n]) +#else +#define STATE_CPU(sd,n) ((sd)->cpu[0]) +#endif CGEN_STATE cgen_state; diff --git a/sim/lm32/ChangeLog b/sim/lm32/ChangeLog index fdb204b..94a1ccd 100644 --- a/sim/lm32/ChangeLog +++ b/sim/lm32/ChangeLog @@ -1,3 +1,8 @@ +2015-04-15 Mike Frysinger <vapier@gentoo.org> + + * sim-main.h (struct sim_state): Change cpu to an array of pointers. + (STATE_CPU): Handle WITH_SMP. + 2015-04-13 Mike Frysinger <vapier@gentoo.org> * configure: Regenerate. diff --git a/sim/lm32/sim-main.h b/sim/lm32/sim-main.h index a4e4423..d985607 100644 --- a/sim/lm32/sim-main.h +++ b/sim/lm32/sim-main.h @@ -83,8 +83,12 @@ struct _sim_cpu struct sim_state { - sim_cpu *cpu; -#define STATE_CPU(sd, n) (/*&*/ (sd)->cpu) + sim_cpu *cpu[MAX_NR_PROCESSORS]; +#if (WITH_SMP) +#define STATE_CPU(sd,n) ((sd)->cpu[n]) +#else +#define STATE_CPU(sd,n) ((sd)->cpu[0]) +#endif CGEN_STATE cgen_state; diff --git a/sim/m32r/ChangeLog b/sim/m32r/ChangeLog index 2dcd3a0..c8a285c 100644 --- a/sim/m32r/ChangeLog +++ b/sim/m32r/ChangeLog @@ -1,3 +1,8 @@ +2015-04-15 Mike Frysinger <vapier@gentoo.org> + + * sim-main.h (struct sim_state): Change cpu to an array of pointers. + (STATE_CPU): Handle WITH_SMP. + 2015-04-13 Mike Frysinger <vapier@gentoo.org> * configure: Regenerate. diff --git a/sim/m32r/sim-main.h b/sim/m32r/sim-main.h index 2cbb40b..96c1ec1 100644 --- a/sim/m32r/sim-main.h +++ b/sim/m32r/sim-main.h @@ -68,8 +68,12 @@ struct _sim_cpu { /* The sim_state struct. */ struct sim_state { - sim_cpu *cpu; -#define STATE_CPU(sd, n) (/*&*/ (sd)->cpu) + sim_cpu *cpu[MAX_NR_PROCESSORS]; +#if (WITH_SMP) +#define STATE_CPU(sd,n) ((sd)->cpu[n]) +#else +#define STATE_CPU(sd,n) ((sd)->cpu[0]) +#endif CGEN_STATE cgen_state; diff --git a/sim/sh64/ChangeLog b/sim/sh64/ChangeLog index 574fbb1..5bbc7a3 100644 --- a/sim/sh64/ChangeLog +++ b/sim/sh64/ChangeLog @@ -1,3 +1,8 @@ +2015-04-15 Mike Frysinger <vapier@gentoo.org> + + * sim-main.h (struct sim_state): Change cpu to an array of pointers. + (STATE_CPU): Handle WITH_SMP. + 2015-04-13 Mike Frysinger <vapier@gentoo.org> * configure: Regenerate. diff --git a/sim/sh64/sim-main.h b/sim/sh64/sim-main.h index e7cbe99..5ae4309 100644 --- a/sim/sh64/sim-main.h +++ b/sim/sh64/sim-main.h @@ -53,8 +53,12 @@ struct _sim_cpu { /* The sim_state struct. */ struct sim_state { - sim_cpu *cpu; -#define STATE_CPU(sd, n) (/*&*/ (sd)->cpu) + sim_cpu *cpu[MAX_NR_PROCESSORS]; +#if (WITH_SMP) +#define STATE_CPU(sd,n) ((sd)->cpu[n]) +#else +#define STATE_CPU(sd,n) ((sd)->cpu[0]) +#endif CGEN_STATE cgen_state; |