[02/27] sim: bfin: invert sim_cpu storage

Message ID 20221101151158.24916-3-vapier@gentoo.org
State Committed
Commit 6adb1071134b5ca69d512dcfaf564774096d32dd
Headers
Series sim: sim_cpu: invert sim_cpu storage |

Commit Message

Mike Frysinger Nov. 1, 2022, 3:11 p.m. UTC
  ---
 sim/bfin/interp.c   |  5 ++---
 sim/bfin/sim-main.h | 10 +++-------
 2 files changed, 5 insertions(+), 10 deletions(-)
  

Patch

diff --git a/sim/bfin/interp.c b/sim/bfin/interp.c
index f63690cfac41..f4071ce47398 100644
--- a/sim/bfin/interp.c
+++ b/sim/bfin/interp.c
@@ -643,8 +643,6 @@  free_state (SIM_DESC sd)
 static void
 bfin_initialize_cpu (SIM_DESC sd, SIM_CPU *cpu)
 {
-  memset (&cpu->state, 0, sizeof (cpu->state));
-
   PROFILE_TOTAL_INSN_COUNT (CPU_PROFILE_DATA (cpu)) = 0;
 
   bfin_model_cpu_init (sd, cpu);
@@ -674,7 +672,8 @@  sim_open (SIM_OPEN_KIND kind, host_callback *callback,
   current_target_byte_order = BFD_ENDIAN_LITTLE;
 
   /* The cpu data is kept in a separately allocated chunk of memory.  */
-  if (sim_cpu_alloc_all (sd, 1) != SIM_RC_OK)
+  if (sim_cpu_alloc_all_extra (sd, 1, sizeof (struct bfin_cpu_state))
+      != SIM_RC_OK)
     {
       free_state (sd);
       return 0;
diff --git a/sim/bfin/sim-main.h b/sim/bfin/sim-main.h
index 42dfd5408ee9..48e54c8c8e13 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_CPU
+
 #include "sim-basics.h"
 #include "arch.h"
 #include "sim-base.h"
@@ -29,13 +31,7 @@ 
 
 #include "machs.h"
 
-struct _sim_cpu {
-  /* ... simulator specific members ... */
-  struct bfin_cpu_state state;
-  sim_cpu_base base;
-};
-#define BFIN_CPU_STATE ((cpu)->state)
-
+#define BFIN_CPU_STATE (*(struct bfin_cpu_state *) CPU_ARCH_DATA (cpu))
 #define STATE_BOARD_DATA(sd) ((struct bfin_board_data *) STATE_ARCH_DATA (sd))
 
 #include "sim-config.h"