[PATCH 2/8] sim: bfin: invert sim_state storage

Mike Frysinger vapier@gentoo.org
Thu May 13 10:07:43 GMT 2021


---
 sim/bfin/interp.c   |  3 ++-
 sim/bfin/sim-main.h | 11 +++--------
 2 files changed, 5 insertions(+), 9 deletions(-)

diff --git a/sim/bfin/interp.c b/sim/bfin/interp.c
index a4333daa44dd..e663299f3004 100644
--- a/sim/bfin/interp.c
+++ b/sim/bfin/interp.c
@@ -716,7 +716,8 @@ sim_open (SIM_OPEN_KIND kind, host_callback *callback,
 {
   char c;
   int i;
-  SIM_DESC sd = sim_state_alloc (kind, callback);
+  SIM_DESC sd = sim_state_alloc_extra (kind, callback,
+				       sizeof (struct bfin_board_data));
 
   /* The cpu data is kept in a separately allocated chunk of memory.  */
   if (sim_cpu_alloc_all (sd, 1) != SIM_RC_OK)
diff --git a/sim/bfin/sim-main.h b/sim/bfin/sim-main.h
index a09ea4961898..855a178bc4b4 100644
--- a/sim/bfin/sim-main.h
+++ b/sim/bfin/sim-main.h
@@ -21,6 +21,8 @@
 #ifndef _BFIN_MAIN_SIM_H_
 #define _BFIN_MAIN_SIM_H_
 
+#define SIM_HAVE_COMMON_SIM_STATE
+
 #include "sim-basics.h"
 #include "sim-signal.h"
 #include "arch.h"
@@ -37,14 +39,7 @@ struct _sim_cpu {
 };
 #define BFIN_CPU_STATE ((cpu)->state)
 
-struct sim_state {
-  sim_cpu *cpu[MAX_NR_PROCESSORS];
-
-  /* ... simulator specific members ... */
-  struct bfin_board_data board;
-#define STATE_BOARD_DATA(sd) (&(sd)->board)
-  sim_state_base base;
-};
+#define STATE_BOARD_DATA(sd) ((struct bfin_board_data *) STATE_ARCH_DATA (sd))
 
 #include "sim-config.h"
 #include "sim-types.h"
-- 
2.31.1



More information about the Gdb-patches mailing list