aboutsummaryrefslogtreecommitdiff
path: root/sim/bfin
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2016-08-12 23:43:27 +0800
committerMike Frysinger <vapier@gentoo.org>2022-12-21 00:00:00 -0500
commit6adb1071134b5ca69d512dcfaf564774096d32dd (patch)
tree7247dd2686d9ee39905ba5ae69a501670969d001 /sim/bfin
parentffeb72b44c8c5060465005178dd3a4a304117a58 (diff)
downloadgdb-6adb1071134b5ca69d512dcfaf564774096d32dd.zip
gdb-6adb1071134b5ca69d512dcfaf564774096d32dd.tar.gz
gdb-6adb1071134b5ca69d512dcfaf564774096d32dd.tar.bz2
sim: bfin: invert sim_cpu storage
Diffstat (limited to 'sim/bfin')
-rw-r--r--sim/bfin/interp.c5
-rw-r--r--sim/bfin/sim-main.h10
2 files changed, 5 insertions, 10 deletions
diff --git a/sim/bfin/interp.c b/sim/bfin/interp.c
index f63690c..f4071ce 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 42dfd54..48e54c8 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"