sim: invert sim_state storage
authorMike Frysinger <vapier@gentoo.org>
Fri, 22 Jan 2016 02:00:25 +0000 (21:00 -0500)
committerMike Frysinger <vapier@gentoo.org>
Mon, 17 May 2021 04:42:55 +0000 (00:42 -0400)
Currently all ports have to declare sim_state themselves in their
sim-main.h and then embed the common sim_state_base & sim_cpu in it.
This dynamic makes it impossible to share common object code among
multiple ports because the core data structure is always different.

Let's invert this relationship: common code declares sim_state, and
if the port actually needs state on a per-instance basis, it can use
the new arch_data field for it.  Most ports don't actually use it,
so they don't need to declare anything at all.

This is the first in a series of changes: it adds a define to select
between the old & new layouts, then converts all the ports that don't
need custom state over to the new layout.

33 files changed:
sim/aarch64/ChangeLog
sim/aarch64/sim-main.h
sim/arm/ChangeLog
sim/arm/sim-main.h
sim/common/ChangeLog
sim/common/sim-base.h
sim/common/sim-utils.c
sim/cr16/ChangeLog
sim/cr16/sim-main.h
sim/d10v/ChangeLog
sim/d10v/sim-main.h
sim/example-synacor/ChangeLog
sim/example-synacor/sim-main.h
sim/ft32/ChangeLog
sim/ft32/sim-main.h
sim/m68hc11/ChangeLog
sim/m68hc11/sim-main.h
sim/mcore/ChangeLog
sim/mcore/sim-main.h
sim/microblaze/ChangeLog
sim/microblaze/sim-main.h
sim/mn10300/ChangeLog
sim/mn10300/sim-main.h
sim/moxie/ChangeLog
sim/moxie/sim-main.h
sim/msp430/ChangeLog
sim/msp430/sim-main.h
sim/pru/ChangeLog
sim/pru/sim-main.h
sim/sh/ChangeLog
sim/sh/sim-main.h
sim/v850/ChangeLog
sim/v850/sim-main.h

index b5ef612e6f17b3c53acaba4500bb4378253de6ac..c02019fc3757fe117d78a8ff977aacd5ba5426a4 100644 (file)
@@ -1,3 +1,8 @@
+2021-05-17  Mike Frysinger  <vapier@gentoo.org>
+
+       * sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
+       (struct sim_state): Delete.
+
 2021-05-16  Mike Frysinger  <vapier@gentoo.org>
 
        * cpustate.c: Include defs.h.
index a2704a75ba1d908b9931b32a01442ca7244ba87f..f1f9e5cf681fd4d1e3d9e41e00c80ffc19679d46 100644 (file)
@@ -22,6 +22,8 @@
 #ifndef _SIM_MAIN_H
 #define _SIM_MAIN_H
 
+#define SIM_HAVE_COMMON_SIM_STATE
+
 #include "sim-basics.h"
 #include "sim-types.h"
 #include "sim-base.h"
@@ -60,11 +62,4 @@ typedef enum
   AARCH64_MAX_REGNO  = 67
 } aarch64_regno;
 
-/* The simulator state structure used to hold all global variables.  */
-struct sim_state
-{
-  sim_cpu *       cpu[MAX_NR_PROCESSORS];
-  sim_state_base  base;
-};
-
 #endif /* _SIM_MAIN_H */
index aabdae22412a2f9f95d388d89d3ab9daee04f5a0..f8aa04223c4e658bf0ac5997167a96502fc1edfc 100644 (file)
@@ -1,3 +1,8 @@
+2021-05-17  Mike Frysinger  <vapier@gentoo.org>
+
+       * sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
+       (struct sim_state): Delete.
+
 2021-05-16  Mike Frysinger  <vapier@gentoo.org>
 
        * armcopro.c, armemu.c, arminit.c, armsupp.c, armvirt.c, iwmmxt.c,
index 7644b9349086d9c7bd03be82dfda4ad862aa5424..b47149441339a404210c227c9af31823c032b1b0 100644 (file)
@@ -19,6 +19,8 @@
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
+#define SIM_HAVE_COMMON_SIM_STATE
+
 #include "sim-basics.h"
 #include "sim-base.h"
 #include "bfd.h"
@@ -33,11 +35,4 @@ struct _sim_cpu {
   sim_cpu_base base;
 };
 
-struct sim_state {
-
-  sim_cpu *cpu[MAX_NR_PROCESSORS];
-
-  sim_state_base base;
-};
-
 #endif
index 1d875bb1cbd36954d7848c421afd34626574a7cc..f3fcaee0b05584df6073b6ccd91fbf988351d270 100644 (file)
@@ -1,3 +1,13 @@
+2021-05-17  Mike Frysinger  <vapier@gentoo.org>
+
+       * sim-base.h (struct sim_state): Update comment.
+       (struct sim_state): Define.
+       (STATE_ARCH_DATA): Likewise.
+       (sim_state_alloc): New define.
+       (sim_state_alloc_extra): Renamed & add 3rd arg.
+       * sim-utils.c (sim_state_alloc): Likewise.
+       (sim_state_alloc_extra): Set arch data.
+
 2021-05-16  Mike Frysinger  <vapier@gentoo.org>
 
        * callback.c: Replace config.h include with defs.h.
index 731fc7f6d0863f7144cb88031d68d9c5362601f9..f38e8412aed6df16fe98bc5e44a776755751b4b3 100644 (file)
@@ -42,14 +42,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
         sim_cpu_base base;
      };
 
-     struct sim_state {
-       sim_cpu *cpu[MAX_NR_PROCESSORS];
-       ... simulator specific members ...
-       sim_state_base base;
-     };
-
-   Note that `base' appears last.  This makes `base.magic' appear last
-   in the entire struct and helps catch miscompilation errors. */
+   If your sim needs to allocate sim-wide state, use STATE_ARCH_DATA.  */
 
 
 #ifndef SIM_BASE_H
@@ -226,8 +219,27 @@ typedef struct {
 #define STATE_MAGIC(sd) ((sd)->base.magic)
 } sim_state_base;
 
+#ifdef SIM_HAVE_COMMON_SIM_STATE
+/* TODO: Merge sim_state & sim_state_base.  */
+struct sim_state {
+  /* All the cpus for this instance.  */
+  sim_cpu *cpu[MAX_NR_PROCESSORS];
+
+  /* All the common state.  */
+  sim_state_base base;
+
+  /* Pointer for sim target to store arbitrary state data.  Normally the
+     target should define a struct and use it here.  */
+  void *arch_data;
+#define STATE_ARCH_DATA(sd) ((sd)->arch_data)
+};
+#endif
+
 /* Functions for allocating/freeing a sim_state.  */
-SIM_DESC sim_state_alloc (SIM_OPEN_KIND kind, host_callback *callback);
+SIM_DESC sim_state_alloc_extra (SIM_OPEN_KIND kind, host_callback *callback,
+                               size_t extra_bytes);
+#define sim_state_alloc(kind, callback) sim_state_alloc_extra(kind, callback, 0)
+
 void sim_state_free (SIM_DESC);
 
 #ifdef __cplusplus
index abb87f8c5a0403bc212cfeeb9e8f77265232dcb9..7a943756daf9fdee2abb53184adfe627f1257186 100644 (file)
@@ -48,8 +48,8 @@ zalloc (unsigned long size)
 /* Allocate a sim_state struct.  */
 
 SIM_DESC
-sim_state_alloc (SIM_OPEN_KIND kind,
-                host_callback *callback)
+sim_state_alloc_extra (SIM_OPEN_KIND kind, host_callback *callback,
+                      size_t extra_bytes)
 {
   SIM_DESC sd = ZALLOC (struct sim_state);
 
@@ -57,6 +57,11 @@ sim_state_alloc (SIM_OPEN_KIND kind,
   STATE_CALLBACK (sd) = callback;
   STATE_OPEN_KIND (sd) = kind;
 
+#ifdef SIM_HAVE_COMMON_SIM_STATE
+  if (extra_bytes)
+    STATE_ARCH_DATA (sd) = zalloc (extra_bytes);
+#endif
+
 #if 0
   {
     int cpu_nr;
index 1a7341d2e8eb064afc2cc5d93756edd67f0b0c7a..84e0f8fed21b8777e1eb6f8421e0b5d2bef615ee 100644 (file)
@@ -1,3 +1,8 @@
+2021-05-17  Mike Frysinger  <vapier@gentoo.org>
+
+       * sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
+       (struct sim_state): Delete.
+
 2021-05-16  Mike Frysinger  <vapier@gentoo.org>
 
        * cr16_sim.h: Delete config.h include.
index 639774ced1d14adc0f4b62c5ce9dda7ea826e6c6..7ea5b1d32802e9c872db3d4d17bf0744108e7a69 100644 (file)
@@ -19,6 +19,8 @@
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
+#define SIM_HAVE_COMMON_SIM_STATE
+
 #include "sim-basics.h"
 
 typedef long int           word;
@@ -34,11 +36,4 @@ struct _sim_cpu {
   sim_cpu_base base;
 };
 
-struct sim_state {
-
-  sim_cpu *cpu[MAX_NR_PROCESSORS];
-
-  sim_state_base base;
-};
-
 #endif
index bce1617d90e7f040706bf42e6df9cf7e5cde313a..421faeb08965e18a012531ac307253ddf18786bc 100644 (file)
@@ -1,3 +1,8 @@
+2021-05-17  Mike Frysinger  <vapier@gentoo.org>
+
+       * sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
+       (struct sim_state): Delete.
+
 2021-05-16  Mike Frysinger  <vapier@gentoo.org>
 
        * d10v_sim.h, gencode.c: Delete config.h include.
index 0182263625e316e462f745403958742ff27bc2c6..83b34b06454d09b1940ff47ab21decd8ba7b54cb 100644 (file)
@@ -19,6 +19,8 @@
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
+#define SIM_HAVE_COMMON_SIM_STATE
+
 #include "sim-basics.h"
 
 typedef long int           word;
@@ -34,11 +36,4 @@ struct _sim_cpu {
   sim_cpu_base base;
 };
 
-struct sim_state {
-
-  sim_cpu *cpu[MAX_NR_PROCESSORS];
-
-  sim_state_base base;
-};
-
 #endif
index ddd56b2ea8f424589e42508df7800d0d06adc617..e65ec6568c4410373f73ec80c79ae3f694082ec4 100644 (file)
@@ -1,3 +1,8 @@
+2021-05-17  Mike Frysinger  <vapier@gentoo.org>
+
+       * sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
+       (struct sim_state): Delete.
+
 2021-05-16  Mike Frysinger  <vapier@gentoo.org>
 
        * interp.c, sim-main.c: Replace config.h include with defs.h.
index ba0e4efa12a9610cd109bd2af0660a0ec1de3fc2..32b33b4e90bf59522396c1e4478793120a2de326 100644 (file)
@@ -21,6 +21,8 @@
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
+#define SIM_HAVE_COMMON_SIM_STATE
+
 #include "sim-basics.h"
 #include "sim-base.h"
 
@@ -36,13 +38,6 @@ struct _sim_cpu {
   sim_cpu_base base;
 };
 
-struct sim_state {
-  sim_cpu *cpu[MAX_NR_PROCESSORS];
-
-  /* ... simulator specific members ... */
-  sim_state_base base;
-};
-
 extern void step_once (SIM_CPU *);
 extern void initialize_cpu (SIM_DESC, SIM_CPU *);
 
index 819625ef0e82ce92d1e9fffce6a9c1163beb4a7c..256058ac89124d2a2beac305ae06b3377bbb5d51 100644 (file)
@@ -1,3 +1,8 @@
+2021-05-17  Mike Frysinger  <vapier@gentoo.org>
+
+       * sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
+       (struct sim_state): Delete.
+
 2021-05-16  Mike Frysinger  <vapier@gentoo.org>
 
        * interp.c: Replace config.h include with defs.h.
index 7f0f5e607a68dad3eef0dcc26793b8eb16f04abb..8cf384ceb8b127b2b2b402526d962d671cba2381 100644 (file)
@@ -21,6 +21,8 @@
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
+#define SIM_HAVE_COMMON_SIM_STATE
+
 #include "sim-basics.h"
 #include "sim-base.h"
 #include "bfd.h"
@@ -36,11 +38,4 @@ struct _sim_cpu {
   sim_cpu_base base;
 };
 
-struct sim_state {
-
-  sim_cpu *cpu[MAX_NR_PROCESSORS];
-
-  sim_state_base base;
-};
-
 #endif
index a070cdd5286275f84c18942a5c3cf958376a9c2b..c8d117717ac053f89b2ea6a9d72c23fd1d4ebeca 100644 (file)
@@ -1,3 +1,8 @@
+2021-05-17  Mike Frysinger  <vapier@gentoo.org>
+
+       * sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
+       (struct sim_state): Delete.
+
 2021-05-16  Mike Frysinger  <vapier@gentoo.org>
 
        * dv-m68hc11.c, dv-m68hc11eepr.c, dv-m68hc11sio.c, dv-m68hc11spi.c,
index 9b461ff00428f11bf2db50a80bc7b865c75ad960..d72ede1aefa1e8268bd39557a64e3f069fafc636 100644 (file)
@@ -20,6 +20,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 #ifndef _SIM_MAIN_H
 #define _SIM_MAIN_H
 
+#define SIM_HAVE_COMMON_SIM_STATE
+
 #include "sim-basics.h"
 #include "sim-signal.h"
 #include "sim-base.h"
@@ -560,13 +562,6 @@ extern int m68hc11cpu_clear_oscillator (SIM_DESC sd, const char *port);
 extern void m68hc11cpu_set_port (struct hw *me, sim_cpu *cpu,
                                 unsigned addr, uint8 val);
 
-/* The current state of the processor; registers, memory, etc.  */
-
-struct sim_state {
-  sim_cpu        *cpu[MAX_NR_PROCESSORS];
-  sim_state_base base;
-};
-
 extern void sim_board_reset (SIM_DESC sd);
 
 #define PRINT_TIME  0x01
index 7e70804621319093c98e6b04a896a62509de203d..7a5453f61f1d4501baa8aa47b9c7a33f45c8657e 100644 (file)
@@ -1,3 +1,8 @@
+2021-05-17  Mike Frysinger  <vapier@gentoo.org>
+
+       * sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
+       (struct sim_state): Delete.
+
 2021-05-16  Mike Frysinger  <vapier@gentoo.org>
 
        * interp.c: Replace config.h include with defs.h.
index dc749b7e20cdf8be83d188f37291d32cf73744f2..bfa28d045cea02792c29b1c44568b2beb136644a 100644 (file)
@@ -19,6 +19,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
+#define SIM_HAVE_COMMON_SIM_STATE
+
 #include "sim-basics.h"
 
 typedef long int           word;
@@ -68,12 +70,5 @@ struct _sim_cpu {
   sim_cpu_base base;
 };
 
-struct sim_state {
-
-  sim_cpu *cpu[MAX_NR_PROCESSORS];
-
-  sim_state_base base;
-};
-
 #endif
 
index 7b205acf0946e1c3d11ea9b571556418e8613847..f583623a43d69c71c5148cafef6311d92b47e9ab 100644 (file)
@@ -1,3 +1,8 @@
+2021-05-17  Mike Frysinger  <vapier@gentoo.org>
+
+       * sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
+       (struct sim_state): Delete.
+
 2021-05-16  Mike Frysinger  <vapier@gentoo.org>
 
        * interp.c: Replace config.h include with defs.h.
index 641771a4af321b096d69ed6a08306a35c05ac864..d69d814252a44ea04368a0483b478e45f74f45bb 100644 (file)
@@ -18,6 +18,8 @@
 #ifndef MICROBLAZE_SIM_MAIN
 #define MICROBLAZE_SIM_MAIN
 
+#define SIM_HAVE_COMMON_SIM_STATE
+
 #include "microblaze.h"
 #include "sim-basics.h"
 #include "sim-base.h"
@@ -48,11 +50,4 @@ struct _sim_cpu {
   sim_cpu_base base;
 };
 
-struct sim_state {
-
-  sim_cpu *cpu[MAX_NR_PROCESSORS];
-
-  sim_state_base base;
-};
-
 #endif /* MICROBLAZE_SIM_MAIN */
index 92dd6d1c34780ab0d0d7c249509499f35a4b3584..75a447dedf1f5db8fbebf203a3eb3258865fe974 100644 (file)
@@ -1,3 +1,8 @@
+2021-05-17  Mike Frysinger  <vapier@gentoo.org>
+
+       * sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
+       (struct sim_state): Delete.
+
 2021-05-16  Mike Frysinger  <vapier@gentoo.org>
 
        * dv-mn103cpu.c, dv-mn103int.c, dv-mn103iop.c, dv-mn103ser.c,
index 5b3e593a7d0a703f36686f60ddcf2331557b48f6..5bf068b51fa626864afa7c6d0b1fdb336be2d5ca 100644 (file)
@@ -22,6 +22,8 @@
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
+#define SIM_HAVE_COMMON_SIM_STATE
+
 #define SIM_ENGINE_HALT_HOOK(SD,LAST_CPU,CIA) 0 /* disable this hook */
 
 #include "sim-basics.h"
@@ -65,17 +67,6 @@ struct _sim_cpu {
   sim_cpu_base base;
 };
 
-
-struct sim_state {
-
-  /* the processors proper */
-  sim_cpu *cpu[MAX_NR_PROCESSORS];
-
-  /* The base class.  */
-  sim_state_base base;
-
-};
-
 /* For compatibility, until all functions converted to passing
    SIM_DESC as an argument */
 extern SIM_DESC simulator;
index 39b19d32186cd367c838fa62b97164275a27053b..a8a46a6ab6e985dd124c8c7b9cb9dec5ee74a7e5 100644 (file)
@@ -1,3 +1,8 @@
+2021-05-17  Mike Frysinger  <vapier@gentoo.org>
+
+       * sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
+       (struct sim_state): Delete.
+
 2021-05-16  Mike Frysinger  <vapier@gentoo.org>
 
        * interp.c: Replace config.h include with defs.h.
index 24557da1762c871a4ef55ad7631712977259e229..19b9475e98566260df7d30e189b305945ebc0a91 100644 (file)
@@ -20,6 +20,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
+#define SIM_HAVE_COMMON_SIM_STATE
+
 #include "sim-basics.h"
 #include "sim-base.h"
 #include "bfd.h"
@@ -39,11 +41,4 @@ struct _sim_cpu {
   sim_cpu_base base;
 };
 
-struct sim_state {
-
-  sim_cpu *cpu[MAX_NR_PROCESSORS];
-
-  sim_state_base base;
-};
-
 #endif
index 4664091de00975a72b4aa7795374664b4a5af5c8..1ea283ca052663efd6b0e4c183ce494afee60869 100644 (file)
@@ -1,3 +1,8 @@
+2021-05-17  Mike Frysinger  <vapier@gentoo.org>
+
+       * sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
+       (struct sim_state): Delete.
+
 2021-05-16  Mike Frysinger  <vapier@gentoo.org>
 
        * msp430-sim.c: Replace config.h include with defs.h.
index 22a53b4c9d3c93a5a6f6af885555175f5738d244..f98712c12e5c5e1bb61aa7333c4895a58fd869df 100644 (file)
@@ -21,6 +21,8 @@
 #ifndef _MSP430_MAIN_SIM_H_
 #define _MSP430_MAIN_SIM_H_
 
+#define SIM_HAVE_COMMON_SIM_STATE
+
 #include "sim-basics.h"
 #include "sim-signal.h"
 #include "msp430-sim.h"
@@ -33,14 +35,6 @@ struct _sim_cpu
   sim_cpu_base base;
 };
 
-struct sim_state
-{
-  sim_cpu *cpu[MAX_NR_PROCESSORS];
-
-  /* Simulator specific members.  */
-  sim_state_base base;
-};
-
 #define MSP430_CPU(sd)       (STATE_CPU ((sd), 0))
 #define MSP430_CPU_STATE(sd) (MSP430_CPU ((sd)->state))
 
index 0fef8ffbc7c53de1a24a78a261031bd734bb54b2..27a0f9e900844dc7f2ee32ab3000b4ca6ede8691 100644 (file)
@@ -1,3 +1,8 @@
+2021-05-17  Mike Frysinger  <vapier@gentoo.org>
+
+       * sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
+       (struct sim_state): Delete.
+
 2021-05-16  Mike Frysinger  <vapier@gentoo.org>
 
        * interp.c: Replace config.h include with defs.h.
index 8233c20cefd7c2a4195dabcf6b3eddd7d626e1db..49c54f4f467799308eb6104d13dd69e4ec1c6ca1 100644 (file)
@@ -19,6 +19,8 @@
 #ifndef PRU_SIM_MAIN
 #define PRU_SIM_MAIN
 
+#define SIM_HAVE_COMMON_SIM_STATE
+
 #include <stdint.h>
 #include <stddef.h>
 #include "pru.h"
@@ -83,9 +85,4 @@ struct _sim_cpu {
   sim_cpu_base base;
 };
 
-struct sim_state {
-  sim_cpu *cpu[MAX_NR_PROCESSORS];
-
-  sim_state_base base;
-};
 #endif /* PRU_SIM_MAIN */
index 3dc1630fc5eaf67060d7990278ca25661ff16694..b031cd3d0dbc806ff84627398d564e140268894d 100644 (file)
@@ -1,3 +1,8 @@
+2021-05-17  Mike Frysinger  <vapier@gentoo.org>
+
+       * sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
+       (struct sim_state): Delete.
+
 2021-05-16  Mike Frysinger  <vapier@gentoo.org>
 
        * interp.c: Replace config.h include with defs.h.
index 090b0ac9a0023fd4f78de081de9f1da51c5ae18c..58c1436531f1bdb9e175fe0ed9bc2175ed491bb2 100644 (file)
@@ -19,6 +19,8 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
+#define SIM_HAVE_COMMON_SIM_STATE
+
 #include "sim-basics.h"
 #include "sim-base.h"
 
@@ -131,11 +133,4 @@ struct _sim_cpu {
   sim_cpu_base base;
 };
 
-struct sim_state {
-
-  sim_cpu *cpu[MAX_NR_PROCESSORS];
-
-  sim_state_base base;
-};
-
 #endif
index 81120ed51c0db8932bc0c2ece77588e0c3f5f0a5..82491e7a2d2fc525eec17ee1dd22ab5000a23d69 100644 (file)
@@ -1,3 +1,8 @@
+2021-05-17  Mike Frysinger  <vapier@gentoo.org>
+
+       * sim-main.h (SIM_HAVE_COMMON_SIM_STATE): Define.
+       (struct sim_state): Delete.
+
 2021-05-16  Mike Frysinger  <vapier@gentoo.org>
 
        * interp.c, simops.c: Include defs.h.
index 6556273f67816596086bdbb3daac0a5583ae602d..6dc5c44582b5b7adbd5d8c6a15a4cd152bbfb8e9 100644 (file)
@@ -1,6 +1,8 @@
 #ifndef SIM_MAIN_H
 #define SIM_MAIN_H
 
+#define SIM_HAVE_COMMON_SIM_STATE
+
 /* The v850 has 32bit words, numbered 31 (MSB) to 0 (LSB) */
 
 #define WITH_TARGET_WORD_MSB 31
@@ -48,18 +50,6 @@ struct _sim_cpu
   sim_cpu_base base;
 };
 
-struct sim_state {
-  sim_cpu *cpu[MAX_NR_PROCESSORS];
-#if 0
-  SIM_ADDR rom_size;
-  SIM_ADDR low_end;
-  SIM_ADDR high_start;
-  SIM_ADDR high_base;
-  void *mem;
-#endif
-  sim_state_base base;
-};
-
 /* For compatibility, until all functions converted to passing
    SIM_DESC as an argument */
 extern SIM_DESC simulator;