sim: arm/d10v/h8300/m68hc11/microblaze/mips/mn10300/moxie/sh/v850: convert to common...
authorMike Frysinger <vapier@gentoo.org>
Wed, 30 Dec 2015 08:28:45 +0000 (03:28 -0500)
committerMike Frysinger <vapier@gentoo.org>
Wed, 30 Dec 2015 08:30:25 +0000 (03:30 -0500)
20 files changed:
sim/arm/ChangeLog
sim/arm/wrapper.c
sim/d10v/ChangeLog
sim/d10v/interp.c
sim/h8300/ChangeLog
sim/h8300/compile.c
sim/m68hc11/ChangeLog
sim/m68hc11/interp.c
sim/microblaze/ChangeLog
sim/microblaze/interp.c
sim/mips/ChangeLog
sim/mips/interp.c
sim/mn10300/ChangeLog
sim/mn10300/interp.c
sim/moxie/ChangeLog
sim/moxie/interp.c
sim/sh/ChangeLog
sim/sh/interp.c
sim/v850/ChangeLog
sim/v850/interp.c

index 5cfc633ebc7fe9622af51e965ceaf167847db89b..024f52e03cea51646fd9c5080792e41d546b7060 100644 (file)
@@ -1,3 +1,11 @@
+2015-12-30  Mike Frysinger  <vapier@gentoo.org>
+
+       * wrapper.c (sim_store_register): Rename to ...
+       (arm_reg_store): ... this.
+       (sim_fetch_register): Rename to ...
+       (arm_reg_fetch): ... this.
+       (sim_open): Call CPU_REG_FETCH/CPU_REG_STORE.
+
 2015-12-27  Mike Frysinger  <vapier@gentoo.org>
 
        * Makefile.in (SIM_OBJS): Delete sim-hload.o.
index db96cca0e2694f709ffd1eccdd78a08a0767c26f..19712686baeacddbbfc6e3bd8f40cfa7c396ef45 100644 (file)
@@ -431,11 +431,8 @@ tomem (struct ARMul_State *state,
     }
 }
 
-int
-sim_store_register (SIM_DESC sd ATTRIBUTE_UNUSED,
-                   int rn,
-                   unsigned char *memory,
-                   int length)
+static int
+arm_reg_store (SIM_CPU *cpu, int rn, unsigned char *memory, int length)
 {
   init ();
 
@@ -539,11 +536,8 @@ sim_store_register (SIM_DESC sd ATTRIBUTE_UNUSED,
   return length;
 }
 
-int
-sim_fetch_register (SIM_DESC sd ATTRIBUTE_UNUSED,
-                   int rn,
-                   unsigned char *memory,
-                   int length)
+static int
+arm_reg_fetch (SIM_CPU *cpu, int rn, unsigned char *memory, int length)
 {
   ARMword regval;
   int len = length;
@@ -870,6 +864,8 @@ sim_open (SIM_OPEN_KIND kind,
     {
       SIM_CPU *cpu = STATE_CPU (sd, i);
 
+      CPU_REG_FETCH (cpu) = arm_reg_fetch;
+      CPU_REG_STORE (cpu) = arm_reg_store;
       CPU_PC_FETCH (cpu) = arm_pc_get;
       CPU_PC_STORE (cpu) = arm_pc_set;
     }
index 0ff2c2ba27620723e7797bab68bd8a6177237a3e..6a796bbdb947a4406637c3ed16692f6fa3115a77 100644 (file)
@@ -1,3 +1,12 @@
+2015-12-30  Mike Frysinger  <vapier@gentoo.org>
+
+       * wrapper.c (d10v_reg_store, d10v_reg_fetch): Define.
+       (sim_open): Call CPU_REG_FETCH/CPU_REG_STORE.
+       (sim_store_register): Rename to ...
+       (d10v_reg_store): ... this.  Rename cpu to sd.
+       (sim_fetch_register): Rename to ...
+       (d10v_reg_fetch): ... this.  Rename cpu to sd.
+
 2015-12-27  Mike Frysinger  <vapier@gentoo.org>
 
        * Makefile.in (SIM_OBJS): Delete sim-hload.o.
index 330fbbcbfb785e7ef1e27109edb05022dff27ceb..807c5c21a0874059b43abf2239d6bc5a3109b5b1 100644 (file)
@@ -742,6 +742,9 @@ free_state (SIM_DESC sd)
   sim_state_free (sd);
 }
 
+static int d10v_reg_fetch (SIM_CPU *, int, unsigned char *, int);
+static int d10v_reg_store (SIM_CPU *, int, unsigned char *, int);
+
 SIM_DESC
 sim_open (SIM_OPEN_KIND kind, host_callback *cb, struct bfd *abfd, char **argv)
 {
@@ -806,6 +809,8 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb, struct bfd *abfd, char **argv)
     {
       SIM_CPU *cpu = STATE_CPU (sd, i);
 
+      CPU_REG_FETCH (cpu) = d10v_reg_fetch;
+      CPU_REG_STORE (cpu) = d10v_reg_store;
       CPU_PC_FETCH (cpu) = d10v_pc_get;
       CPU_PC_STORE (cpu) = d10v_pc_set;
     }
@@ -1196,10 +1201,10 @@ sim_create_inferior (SIM_DESC sd, struct bfd *abfd, char **argv, char **env)
   return SIM_RC_OK;
 }
 
-int
-sim_fetch_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
+static int
+d10v_reg_fetch (SIM_CPU *cpu, int rn, unsigned char *memory, int length)
 {
-  SIM_CPU *cpu = STATE_CPU (sd, 0);
+  SIM_DESC sd = CPU_STATE (cpu);
   int size;
   switch ((enum sim_d10v_regs) rn)
     {
@@ -1280,10 +1285,10 @@ sim_fetch_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
   return size;
 }
  
-int
-sim_store_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
+static int
+d10v_reg_store (SIM_CPU *cpu, int rn, unsigned char *memory, int length)
 {
-  SIM_CPU *cpu = STATE_CPU (sd, 0);
+  SIM_DESC sd = CPU_STATE (cpu);
   int size;
   switch ((enum sim_d10v_regs) rn)
     {
index b293b29031cb7a6c8b1f5ebdc7c90feefabe0b7e..67d3c667a6621eb579f53c066cbbfca5ee4ffa10 100644 (file)
@@ -1,3 +1,11 @@
+2015-12-30  Mike Frysinger  <vapier@gentoo.org>
+
+       * wrapper.c (sim_store_register): Rename to ...
+       (h8300_reg_store): ... this.  Declare sd.
+       (sim_fetch_register): Rename to ...
+       (h8300_reg_fetch): ... this.  Declare sd.
+       (sim_open): Call CPU_REG_FETCH/CPU_REG_STORE.
+
 2015-12-30  Mike Frysinger  <vapier@gentoo.org>
 
        * compile.c (lreg): Delete.
index beb2ab6b808b35b9e69b7d2f84d0b1e259fb7ee7..4c55a3702b46b6e5d4c99533ea7623de9ef44aca 100644 (file)
@@ -4600,10 +4600,10 @@ sim_read (SIM_DESC sd, SIM_ADDR addr, unsigned char *buffer, int size)
   return size;
 }
 
-
-int
-sim_store_register (SIM_DESC sd, int rn, unsigned char *value, int length)
+static int
+h8300_reg_store (SIM_CPU *cpu, int rn, unsigned char *value, int length)
 {
+  SIM_DESC sd = CPU_STATE (cpu);
   int longval;
   int shortval;
   int intval;
@@ -4665,9 +4665,10 @@ sim_store_register (SIM_DESC sd, int rn, unsigned char *value, int length)
   return length;
 }
 
-int
-sim_fetch_register (SIM_DESC sd, int rn, unsigned char *buf, int length)
+static int
+h8300_reg_fetch (SIM_CPU *cpu, int rn, unsigned char *buf, int length)
 {
+  SIM_DESC sd = CPU_STATE (cpu);
   int v;
   int longreg = 0;
 
@@ -4963,6 +4964,8 @@ sim_open (SIM_OPEN_KIND kind,
     {
       SIM_CPU *cpu = STATE_CPU (sd, i);
 
+      CPU_REG_FETCH (cpu) = h8300_reg_fetch;
+      CPU_REG_STORE (cpu) = h8300_reg_store;
       CPU_PC_FETCH (cpu) = h8300_pc_get;
       CPU_PC_STORE (cpu) = h8300_pc_set;
     }
index 9fd9e280edb50a464b97c13743a5a343de133a17..ad83c37a6e3a6158038141bad0309a068dd3d863 100644 (file)
@@ -1,3 +1,12 @@
+2015-12-30  Mike Frysinger  <vapier@gentoo.org>
+
+       * wrapper.c (m68hc11_reg_store, m68hc11_reg_fetch): Define.
+       (sim_open): Call CPU_REG_FETCH/CPU_REG_STORE.
+       (sim_store_register): Rename to ...
+       (m68hc11_reg_store): ... this.  Delete local cpu var.
+       (sim_fetch_register): Rename to ...
+       (m68hc11_reg_fetch): ... this.  Delete local cpu var.
+
 2015-12-27  Mike Frysinger  <vapier@gentoo.org>
 
        * Makefile.in (SIM_OBJS): Delete sim-hload.o.
index bb93e6ca981d724cd534427d46f95d0fa0c325cd..7fb7005e94af673fef6130bfd49b05a72b4cc1b8 100644 (file)
@@ -413,6 +413,9 @@ m68hc11_pc_set (sim_cpu *cpu, sim_cia pc)
   cpu_set_pc (cpu, pc);
 }
 
+static int m68hc11_reg_fetch (SIM_CPU *, int, unsigned char *, int);
+static int m68hc11_reg_store (SIM_CPU *, int, unsigned char *, int);
+
 SIM_DESC
 sim_open (SIM_OPEN_KIND kind, host_callback *callback,
           bfd *abfd, char **argv)
@@ -492,6 +495,8 @@ sim_open (SIM_OPEN_KIND kind, host_callback *callback,
     {
       SIM_CPU *cpu = STATE_CPU (sd, i);
 
+      CPU_REG_FETCH (cpu) = m68hc11_reg_fetch;
+      CPU_REG_STORE (cpu) = m68hc11_reg_store;
       CPU_PC_FETCH (cpu) = m68hc11_pc_get;
       CPU_PC_STORE (cpu) = m68hc11_pc_set;
     }
@@ -553,14 +558,12 @@ sim_create_inferior (SIM_DESC sd, struct bfd *abfd,
   return sim_prepare_for_program (sd, abfd);
 }
 
-int
-sim_fetch_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
+static int
+m68hc11_reg_fetch (SIM_CPU *cpu, int rn, unsigned char *memory, int length)
 {
-  sim_cpu *cpu;
   uint16 val;
   int size = 2;
 
-  cpu = STATE_CPU (sd, 0);
   switch (rn)
     {
     case A_REGNUM:
@@ -619,13 +622,10 @@ sim_fetch_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
   return size;
 }
 
-int
-sim_store_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
+static int
+m68hc11_reg_store (SIM_CPU *cpu, int rn, unsigned char *memory, int length)
 {
   uint16 val;
-  sim_cpu *cpu;
-
-  cpu = STATE_CPU (sd, 0);
 
   val = *memory++;
   if (length == 2)
index 9e8837148fcb10155ad29826423901d2cc1e2c68..934677847eb78466faf45dab418aadba2ae855a5 100644 (file)
@@ -1,3 +1,11 @@
+2015-12-30  Mike Frysinger  <vapier@gentoo.org>
+
+       * wrapper.c (sim_store_register): Rename to ...
+       (microblaze_reg_store): ... this.  Delete local cpu var.
+       (sim_fetch_register): Rename to ...
+       (microblaze_reg_fetch): ... this.  Delete local cpu var.
+       (sim_open): Call CPU_REG_FETCH/CPU_REG_STORE.
+
 2015-12-27  Mike Frysinger  <vapier@gentoo.org>
 
        * Makefile.in (SIM_OBJS): Delete sim-hload.o.
index 3ca5e1f67910dd1e5873ec7ef0a1f57a0acbe50c..90dcd6f03aebbcc4bc90e70f5af59e4681737795 100644 (file)
@@ -304,11 +304,9 @@ sim_engine_run (SIM_DESC sd,
   CPU.cycles += memops;        /* and memop cycle delays */
 }
 
-int
-sim_store_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
+static int
+microblaze_reg_store (SIM_CPU *cpu, int rn, unsigned char *memory, int length)
 {
-  SIM_CPU *cpu = STATE_CPU (sd, 0);
-
   if (rn < NUM_REGS + NUM_SPECIAL && rn >= 0)
     {
       if (length == 4)
@@ -328,10 +326,9 @@ sim_store_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
     return 0;
 }
 
-int
-sim_fetch_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
+static int
+microblaze_reg_fetch (SIM_CPU *cpu, int rn, unsigned char *memory, int length)
 {
-  SIM_CPU *cpu = STATE_CPU (sd, 0);
   long ival;
 
   if (rn < NUM_REGS + NUM_SPECIAL && rn >= 0)
@@ -447,6 +444,8 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb, struct bfd *abfd, char **argv)
     {
       SIM_CPU *cpu = STATE_CPU (sd, i);
 
+      CPU_REG_FETCH (cpu) = microblaze_reg_fetch;
+      CPU_REG_STORE (cpu) = microblaze_reg_store;
       CPU_PC_FETCH (cpu) = microblaze_pc_get;
       CPU_PC_STORE (cpu) = microblaze_pc_set;
 
index 022f9608954f3206f7050a441223cb986d8340dd..8b2e23f396e724d0eb2f56c016a350ebf9b9eb2b 100644 (file)
@@ -1,3 +1,14 @@
+2015-12-30  Mike Frysinger  <vapier@gentoo.org>
+
+       * wrapper.c (mips_reg_store, mips_reg_fetch): Define.
+       (sim_open): Call CPU_REG_FETCH/CPU_REG_STORE.
+       (sim_store_register): Rename to ...
+       (mips_reg_store): ... this.  Delete local cpu var.
+       Update sim_io_eprintf calls.
+       (sim_fetch_register): Rename to ...
+       (mips_reg_fetch): ... this.  Delete local cpu var.
+       Update sim_io_eprintf calls.
+
 2015-12-27  Mike Frysinger  <vapier@gentoo.org>
 
        * Makefile.in (SIM_OBJS): Delete sim-hload.o.
index 0ca6f1aef205646591080463865e18af7342ff25..843ba94105e8153175ff78c5b81464b345661fa8 100644 (file)
@@ -342,6 +342,9 @@ mips_pc_set (sim_cpu *cpu, sim_cia pc)
   PC = pc;
 }
 
+static int mips_reg_fetch (SIM_CPU *, int, unsigned char *, int);
+static int mips_reg_store (SIM_CPU *, int, unsigned char *, int);
+
 SIM_DESC
 sim_open (SIM_OPEN_KIND kind, host_callback *cb, struct bfd *abfd, char **argv)
 {
@@ -803,6 +806,8 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb, struct bfd *abfd, char **argv)
     {
       SIM_CPU *cpu = STATE_CPU (sd, i);
 
+      CPU_REG_FETCH (cpu) = mips_reg_fetch;
+      CPU_REG_STORE (cpu) = mips_reg_store;
       CPU_PC_FETCH (cpu) = mips_pc_get;
       CPU_PC_STORE (cpu) = mips_pc_set;
     }
@@ -840,15 +845,11 @@ mips_sim_close (SIM_DESC sd, int quitting)
 #endif
 }
 
-int
-sim_store_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
+static int
+mips_reg_store (SIM_CPU *cpu, int rn, unsigned char *memory, int length)
 {
-  sim_cpu *cpu = STATE_CPU (sd, 0); /* FIXME */
   /* NOTE: gdb (the client) stores registers in target byte order
      while the simulator uses host byte order */
-#ifdef DEBUG
-  sim_io_printf(sd,"sim_store_register(%d,*memory=0x%s);\n",rn,pr_addr(*((SIM_ADDR *)memory)));
-#endif /* DEBUG */
 
   /* Unfortunately this suffers from the same problem as the register
      numbering one. We need to know what the width of each logical
@@ -856,12 +857,10 @@ sim_store_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
 
   if (cpu->register_widths[rn] == 0)
     {
-      sim_io_eprintf(sd,"Invalid register width for %d (register store ignored)\n",rn);
+      sim_io_eprintf (CPU_STATE (cpu), "Invalid register width for %d (register store ignored)\n", rn);
       return 0;
     }
 
-
-
   if (rn >= FGR_BASE && rn < FGR_BASE + NR_FGR)
     {
       cpu->fpr_state[rn - FGR_BASE] = fmt_uninterpreted;
@@ -925,26 +924,18 @@ sim_store_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
   return 0;
 }
 
-int
-sim_fetch_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
+static int
+mips_reg_fetch (SIM_CPU *cpu, int rn, unsigned char *memory, int length)
 {
-  sim_cpu *cpu = STATE_CPU (sd, 0); /* FIXME */
   /* NOTE: gdb (the client) stores registers in target byte order
      while the simulator uses host byte order */
-#ifdef DEBUG
-#if 0  /* FIXME: doesn't compile */
-  sim_io_printf(sd,"sim_fetch_register(%d=0x%s,mem) : place simulator registers into memory\n",rn,pr_addr(registers[rn]));
-#endif
-#endif /* DEBUG */
 
   if (cpu->register_widths[rn] == 0)
     {
-      sim_io_eprintf (sd, "Invalid register width for %d (register fetch ignored)\n",rn);
+      sim_io_eprintf (CPU_STATE (cpu), "Invalid register width for %d (register fetch ignored)\n", rn);
       return 0;
     }
 
-
-
   /* Any floating point register */
   if (rn >= FGR_BASE && rn < FGR_BASE + NR_FGR)
     {
index a159aa4cf0cbc9434153486ca1050a2d76796283..d59a7e85000a846f8c6dd59a3a9283fc89d283d9 100644 (file)
@@ -1,3 +1,12 @@
+2015-12-30  Mike Frysinger  <vapier@gentoo.org>
+
+       * wrapper.c (mn10300_reg_store, mn10300_reg_fetch): Define.
+       (sim_open): Call CPU_REG_FETCH/CPU_REG_STORE.
+       (sim_store_register): Rename to ...
+       (mn10300_reg_store): ... this.
+       (sim_fetch_register): Rename to ...
+       (mn10300_reg_fetch): ... this.
+
 2015-12-27  Mike Frysinger  <vapier@gentoo.org>
 
        * Makefile.in (MN10300_OBJS): Delete sim-hload.o.
index 4940acc6e7cbc52a47ca7d524bef2c7b9f6a8a01..8550c4544d8bc3b58d4bb8e11e807cfda1aa3535 100644 (file)
@@ -86,6 +86,9 @@ mn10300_pc_set (sim_cpu *cpu, sim_cia pc)
   PC = pc;
 }
 
+static int mn10300_reg_fetch (SIM_CPU *, int, unsigned char *, int);
+static int mn10300_reg_store (SIM_CPU *, int, unsigned char *, int);
+
 /* These default values correspond to expected usage for the chip.  */
 
 SIM_DESC
@@ -308,6 +311,8 @@ sim_open (SIM_OPEN_KIND kind,
     {
       SIM_CPU *cpu = STATE_CPU (sd, i);
 
+      CPU_REG_FETCH (cpu) = mn10300_reg_fetch;
+      CPU_REG_STORE (cpu) = mn10300_reg_store;
       CPU_PC_FETCH (cpu) = mn10300_pc_get;
       CPU_PC_STORE (cpu) = mn10300_pc_set;
     }
@@ -338,11 +343,8 @@ sim_create_inferior (SIM_DESC sd,
 /* FIXME These would more efficient to use than load_mem/store_mem,
    but need to be changed to use the memory map.  */
 
-int
-sim_fetch_register (SIM_DESC sd,
-                   int rn,
-                   unsigned char *memory,
-                   int length)
+static int
+mn10300_reg_fetch (SIM_CPU *cpu, int rn, unsigned char *memory, int length)
 {
   reg_t reg = State.regs[rn];
   uint8 *a = memory;
@@ -353,11 +355,8 @@ sim_fetch_register (SIM_DESC sd,
   return length;
 }
  
-int
-sim_store_register (SIM_DESC sd,
-                   int rn,
-                   unsigned char *memory,
-                   int length)
+static int
+mn10300_reg_store (SIM_CPU *cpu, int rn, unsigned char *memory, int length)
 {
   uint8 *a = memory;
   State.regs[rn] = (a[3] << 24) + (a[2] << 16) + (a[1] << 8) + a[0];
index 10477b499fd55ab447688f603f2dc0457bbb8f43..439b69c9995a6624cc03a27f8d692010afa24d62 100644 (file)
@@ -1,3 +1,11 @@
+2015-12-30  Mike Frysinger  <vapier@gentoo.org>
+
+       * wrapper.c (sim_store_register): Rename to ...
+       (moxie_reg_store): ... this.
+       (sim_fetch_register): Rename to ...
+       (moxie_reg_fetch): ... this.
+       (sim_open): Call CPU_REG_FETCH/CPU_REG_STORE.
+
 2015-12-27  Mike Frysinger  <vapier@gentoo.org>
 
        * Makefile.in (SIM_OBJS): Delete sim-hload.o.
index b2e6352357bf8c93a8a1c976c987acd47dba98d9..3bf6f4da1f184573bf7f3124827e6acc5626eb40 100644 (file)
@@ -1111,8 +1111,8 @@ sim_engine_run (SIM_DESC sd,
     } while (1);
 }
 
-int
-sim_store_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
+static int
+moxie_reg_store (SIM_CPU *scpu, int rn, unsigned char *memory, int length)
 {
   if (rn < NUM_MOXIE_REGS && rn >= 0)
     {
@@ -1131,8 +1131,8 @@ sim_store_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
     return 0;
 }
 
-int
-sim_fetch_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
+static int
+moxie_reg_fetch (SIM_CPU *scpu, int rn, unsigned char *memory, int length)
 {
   if (rn < NUM_MOXIE_REGS && rn >= 0)
     {
@@ -1237,6 +1237,8 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb, struct bfd *abfd, char **argv)
     {
       SIM_CPU *cpu = STATE_CPU (sd, i);
 
+      CPU_REG_FETCH (cpu) = moxie_reg_fetch;
+      CPU_REG_STORE (cpu) = moxie_reg_store;
       CPU_PC_FETCH (cpu) = moxie_pc_get;
       CPU_PC_STORE (cpu) = moxie_pc_set;
 
index 14c4b184147ca6464a81db93e783f4793006e580..0a0bb5682cf18a238adffa3835fff9a1e18a89b4 100644 (file)
@@ -1,3 +1,11 @@
+2015-12-30  Mike Frysinger  <vapier@gentoo.org>
+
+       * wrapper.c (sim_store_register): Rename to ...
+       (sh_reg_store): ... this.
+       (sim_fetch_register): Rename to ...
+       (sh_reg_fetch): ... this.
+       (sim_open): Call CPU_REG_FETCH/CPU_REG_STORE.
+
 2015-12-27  Mike Frysinger  <vapier@gentoo.org>
 
        * Makefile.in (SIM_OBJS): Delete sim-hload.o.
index 2092a1a7d83c1203aa88316b1ba7145f9bc6d1fa..3abeda6b028f1f999f9d9866ef18d02fde9c531f 100644 (file)
@@ -1977,8 +1977,8 @@ enum {
   REGBANK_MACL = 19
 };
 
-int
-sim_store_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
+static int
+sh_reg_store (SIM_CPU *cpu, int rn, unsigned char *memory, int length)
 {
   unsigned val;
 
@@ -2150,8 +2150,8 @@ sim_store_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
   return length;
 }
 
-int
-sim_fetch_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
+static int
+sh_reg_fetch (SIM_CPU *cpu, int rn, unsigned char *memory, int length)
 {
   int val;
 
@@ -2460,6 +2460,8 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb, struct bfd *abfd, char **argv)
     {
       SIM_CPU *cpu = STATE_CPU (sd, i);
 
+      CPU_REG_FETCH (cpu) = sh_reg_fetch;
+      CPU_REG_STORE (cpu) = sh_reg_store;
       CPU_PC_FETCH (cpu) = sh_pc_get;
       CPU_PC_STORE (cpu) = sh_pc_set;
     }
index e09ad1a1685ce855a00f41196c0b18c6e8a55640..2b664881a25fea5004845695d826ae2d622b182a 100644 (file)
@@ -1,3 +1,12 @@
+2015-12-30  Mike Frysinger  <vapier@gentoo.org>
+
+       * wrapper.c (v850_reg_store, v850_reg_fetch): Define.
+       (sim_open): Call CPU_REG_FETCH/CPU_REG_STORE.
+       (sim_store_register): Rename to ...
+       (v850_reg_store): ... this.
+       (sim_fetch_register): Rename to ...
+       (v850_reg_fetch): ... this.
+
 2015-12-27  Mike Frysinger  <vapier@gentoo.org>
 
        * Makefile.in (SIM_OBJS): Delete sim-hload.o.
index f055149cce6366aaec99c3c2105e8d07fe207749..422d926b2db63ffc8f36c1d241342bdc16c2a29d 100644 (file)
@@ -188,6 +188,9 @@ v850_pc_set (sim_cpu *cpu, sim_cia pc)
   PC = pc;
 }
 
+static int v850_reg_fetch (SIM_CPU *, int, unsigned char *, int);
+static int v850_reg_store (SIM_CPU *, int, unsigned char *, int);
+
 SIM_DESC
 sim_open (SIM_OPEN_KIND    kind,
          host_callback *  cb,
@@ -296,6 +299,8 @@ sim_open (SIM_OPEN_KIND    kind,
     {
       SIM_CPU *cpu = STATE_CPU (sd, i);
 
+      CPU_REG_FETCH (cpu) = v850_reg_fetch;
+      CPU_REG_STORE (cpu) = v850_reg_store;
       CPU_PC_FETCH (cpu) = v850_pc_get;
       CPU_PC_STORE (cpu) = v850_pc_set;
     }
@@ -315,21 +320,15 @@ sim_create_inferior (SIM_DESC      sd,
   return SIM_RC_OK;
 }
 
-int
-sim_fetch_register (SIM_DESC         sd,
-                   int              rn,
-                   unsigned char *  memory,
-                   int              length)
+static int
+v850_reg_fetch (SIM_CPU *cpu, int rn, unsigned char *memory, int length)
 {
   *(unsigned32*)memory = H2T_4 (State.regs[rn]);
   return -1;
 }
-int
-sim_store_register (SIM_DESC        sd,
-                   int             rn,
-                   unsigned char * memory,
-                   int             length)
+
+static int
+v850_reg_store (SIM_CPU *cpu, int rn, unsigned char *memory, int length)
 {
   State.regs[rn] = T2H_4 (*(unsigned32 *) memory);
   return length;