[07/26] sim: microblaze: invert sim_cpu storage

Message ID 20221105133258.23409-8-vapier@gentoo.org
State Committed
Commit 9dfc46c3d955622a0c37361034313139ba7f0200
Headers
Series sim: sim_cpu: invert sim_cpu storage |

Commit Message

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

Patch

diff --git a/sim/microblaze/interp.c b/sim/microblaze/interp.c
index ad0812ea41d9..3d7fde0af3e3 100644
--- a/sim/microblaze/interp.c
+++ b/sim/microblaze/interp.c
@@ -382,13 +382,13 @@  sim_info (SIM_DESC sd, int verbose)
 static sim_cia
 microblaze_pc_get (sim_cpu *cpu)
 {
-  return cpu->microblaze_cpu.spregs[0];
+  return MICROBLAZE_SIM_CPU (cpu)->spregs[0];
 }
 
 static void
 microblaze_pc_set (sim_cpu *cpu, sim_cia pc)
 {
-  cpu->microblaze_cpu.spregs[0] = pc;
+  MICROBLAZE_SIM_CPU (cpu)->spregs[0] = pc;
 }
 
 static void
@@ -409,7 +409,8 @@  sim_open (SIM_OPEN_KIND kind, host_callback *cb,
   SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
 
   /* 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 microblaze_regset))
+      != SIM_RC_OK)
     {
       free_state (sd);
       return 0;
diff --git a/sim/microblaze/microblaze.h b/sim/microblaze/microblaze.h
index e871b91af097..6b1d25bede95 100644
--- a/sim/microblaze/microblaze.h
+++ b/sim/microblaze/microblaze.h
@@ -24,7 +24,7 @@ 
 #define GET_RA	((inst & RA_MASK) >> RA_LOW)
 #define GET_RB	((inst & RB_MASK) >> RB_LOW)
 
-#define CPU     cpu->microblaze_cpu
+#define CPU     (*MICROBLAZE_SIM_CPU (cpu))
 
 #define RD      CPU.regs[rd]
 #define RA      CPU.regs[ra]
diff --git a/sim/microblaze/sim-main.h b/sim/microblaze/sim-main.h
index 650ba20e85bb..df85a6f1e232 100644
--- a/sim/microblaze/sim-main.h
+++ b/sim/microblaze/sim-main.h
@@ -18,6 +18,8 @@ 
 #ifndef MICROBLAZE_SIM_MAIN
 #define MICROBLAZE_SIM_MAIN
 
+#define SIM_HAVE_COMMON_SIM_CPU
+
 #include "microblaze.h"
 #include "sim-basics.h"
 #include "sim-base.h"
@@ -43,9 +45,6 @@ 
   signed_2	imm_high;
 };
 
-struct _sim_cpu {
-  struct microblaze_regset microblaze_cpu;
-  sim_cpu_base base;
-};
+#define MICROBLAZE_SIM_CPU(cpu) ((struct microblaze_regset *) CPU_ARCH_DATA (cpu))
 
 #endif /* MICROBLAZE_SIM_MAIN */