Automatic date update in version.in
[deliverable/binutils-gdb.git] / sim / mcore / sim-main.h
index f7000593fe9dda8f0ebf17702340400d03c5e7cc..773ab976e34047a32fd57192489d907d7e6b81ec 100644 (file)
@@ -1,5 +1,5 @@
 /* Simulator for Motorola's MCore processor
-   Copyright (C) 2009-2015 Free Software Foundation, Inc.
+   Copyright (C) 2009-2020 Free Software Foundation, Inc.
 
 This file is part of GDB, the GNU debugger.
 
@@ -21,18 +21,49 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "sim-basics.h"
 
-typedef address_word sim_cia;
 typedef long int           word;
 typedef unsigned long int  uword;
 
-typedef struct _sim_cpu SIM_CPU;
-
 #include "sim-base.h"
 #include "bfd.h"
 
+/* The machine state.
+   This state is maintained in host byte order.  The
+   fetch/store register functions must translate between host
+   byte order and the target processor byte order.
+   Keeping this data in target byte order simplifies the register
+   read/write functions.  Keeping this data in native order improves
+   the performance of the simulator.  Simulation speed is deemed more
+   important.  */
+
+/* The ordering of the mcore_regset structure is matched in the
+   gdb/config/mcore/tm-mcore.h file in the REGISTER_NAMES macro.  */
+struct mcore_regset
+{
+  word gregs[16];      /* primary registers */
+  word alt_gregs[16];  /* alt register file */
+  word cregs[32];      /* control registers */
+  word pc;
+};
+#define LAST_VALID_CREG        32              /* only 0..12 implemented */
+#define NUM_MCORE_REGS (16 + 16 + LAST_VALID_CREG + 1)
+
 struct _sim_cpu {
 
-  word pc;
+  union
+  {
+    struct mcore_regset regs;
+    /* Used by the fetch/store reg helpers to access registers linearly.  */
+    word asints[NUM_MCORE_REGS];
+  };
+
+  /* Used to switch between gregs/alt_gregs based on the control state.  */
+  word *active_gregs;
+
+  int ticks;
+  int stalls;
+  int cycles;
+  int insts;
 
   sim_cpu_base base;
 };
This page took 0.036759 seconds and 4 git commands to generate.