sim: h8300: delete global callback/kind/name
authorMike Frysinger <vapier@gentoo.org>
Sat, 21 Nov 2015 04:49:35 +0000 (20:49 -0800)
committerMike Frysinger <vapier@gentoo.org>
Sun, 22 Nov 2015 05:53:23 +0000 (00:53 -0500)
We can use the sim state everywhere now to get these values on the fly.

sim/h8300/ChangeLog
sim/h8300/compile.c

index c76bf57fa5022491604d10faf7a46e941227410b..c91eba8a315639e3aa329e407593b5d6558578f6 100644 (file)
@@ -1,3 +1,12 @@
+2015-11-21  Mike Frysinger  <vapier@gentoo.org>
+
+       * compile.c (sim_callback, sim_kind, myname): Delete.
+       (init_pointers, sim_store_register, sim_fetch_register, sim_info):
+       Change sim_callback->printf_filtered calls to sim_io_printf.
+       (sim_resume): Likewise.  Declare sim_callback.
+       (sim_open): Delete sim_callback, sim_kind, and myname assignment.
+       (sim_load); Use sd to look up myname, sim_callback, and sim_kind.
+
 2015-11-15  Mike Frysinger  <vapier@gentoo.org>
 
        * Makefile.in (SIM_OBJS): Delete sim-reason.o and sim-stop.o.
index 19b469a7d2d007fda98b0c81384a30523ba57187..15d4f53c73d0bb5f1c06de7d7b274d64625d4035 100644 (file)
 
 int debug;
 
-host_callback *sim_callback;
-
-static SIM_OPEN_KIND sim_kind;
-static char *myname;
-
 /* FIXME: Needs to live in header file.
    This header should also include the things in remote-sim.h.
    One could move this to remote-sim.h but this function isn't needed
@@ -1769,8 +1764,8 @@ init_pointers (SIM_DESC sd)
       /* `msize' must be a power of two.  */
       if ((memory_size & (memory_size - 1)) != 0)
        {
-         (*sim_callback->printf_filtered) 
-           (sim_callback,
+         sim_io_printf
+           (sd,
             "init_pointers: bad memory size %d, defaulting to %d.\n", 
             memory_size, memory_size = H8300S_MSIZE);
        }
@@ -1830,8 +1825,7 @@ init_pointers (SIM_DESC sd)
            }
 
          if (wreg[i] == 0 || wreg[i + 8] == 0)
-           (*sim_callback->printf_filtered) (sim_callback, 
-                                             "init_pointers: internal error.\n");
+           sim_io_printf (sd, "init_pointers: internal error.\n");
 
          h8_set_reg (sd, i, 0);
          lreg[i] = h8_get_reg_buf (sd) + i;
@@ -1884,6 +1878,7 @@ sim_resume (SIM_DESC sd, int step, int siggnal)
   int oldmask;
   enum sim_stop reason;
   int sigrc;
+  host_callback *sim_callback = STATE_CALLBACK (sd);
 
   init_pointers (sd);
 
@@ -4337,8 +4332,7 @@ sim_resume (SIM_DESC sd, int step, int siggnal)
 
        }
 
-      (*sim_callback->printf_filtered) (sim_callback,
-                                       "sim_resume: internal error.\n");
+      sim_io_printf (sd, "sim_resume: internal error.\n");
       sim_engine_set_run_state (sd, sim_stopped, SIGILL);
       goto end;
 
@@ -4631,9 +4625,7 @@ sim_store_register (SIM_DESC sd, int rn, unsigned char *value, int length)
         h8_set_pc (sd, intval);
       break;
     default:
-      (*sim_callback->printf_filtered) (sim_callback, 
-                                       "sim_store_register: bad regnum %d.\n",
-                                       rn);
+      sim_io_printf (sd, "sim_store_register: bad regnum %d.\n", rn);
     case R0_REGNUM:
     case R1_REGNUM:
     case R2_REGNUM:
@@ -4690,9 +4682,7 @@ sim_fetch_register (SIM_DESC sd, int rn, unsigned char *buf, int length)
   switch (rn)
     {
     default:
-      (*sim_callback->printf_filtered) (sim_callback, 
-                                       "sim_fetch_register: bad regnum %d.\n",
-                                       rn);
+      sim_io_printf (sd, "sim_fetch_register: bad regnum %d.\n", rn);
       v = 0;
       break;
     case CCR_REGNUM:
@@ -4774,28 +4764,14 @@ sim_info (SIM_DESC sd, int verbose)
   double timetaken = (double) h8_get_ticks (sd) / (double) now_persec ();
   double virttime = h8_get_cycles (sd) / 10.0e6;
 
-  (*sim_callback->printf_filtered) (sim_callback,
-                                   "\n\n#instructions executed  %10d\n",
-                                   h8_get_insts (sd));
-  (*sim_callback->printf_filtered) (sim_callback,
-                                   "#cycles (v approximate) %10d\n",
-                                   h8_get_cycles (sd));
-  (*sim_callback->printf_filtered) (sim_callback,
-                                   "#real time taken        %10.4f\n",
-                                   timetaken);
-  (*sim_callback->printf_filtered) (sim_callback,
-                                   "#virtual time taken     %10.4f\n",
-                                   virttime);
+  sim_io_printf (sd, "\n\n#instructions executed  %10d\n", h8_get_insts (sd));
+  sim_io_printf (sd, "#cycles (v approximate) %10d\n", h8_get_cycles (sd));
+  sim_io_printf (sd, "#real time taken        %10.4f\n", timetaken);
+  sim_io_printf (sd, "#virtual time taken     %10.4f\n", virttime);
   if (timetaken != 0.0)
-    (*sim_callback->printf_filtered) (sim_callback,
-                                     "#simulation ratio       %10.4f\n",
-                                     virttime / timetaken);
-  (*sim_callback->printf_filtered) (sim_callback,
-                                   "#compiles               %10d\n",
-                                   h8_get_compiles (sd));
-  (*sim_callback->printf_filtered) (sim_callback,
-                                   "#cache size             %10d\n",
-                                   sd->sim_cache_size);
+    sim_io_printf (sd, "#simulation ratio       %10.4f\n", virttime / timetaken);
+  sim_io_printf (sd, "#compiles               %10d\n", h8_get_compiles (sd));
+  sim_io_printf (sd, "#cache size             %10d\n", sd->sim_cache_size);
 
 #ifdef ADEBUG
   /* This to be conditional on `what' (aka `verbose'),
@@ -4806,8 +4782,7 @@ sim_info (SIM_DESC sd, int verbose)
       for (i = 0; i < O_LAST; i++)
        {
          if (h8_get_stats (sd, i))
-           (*sim_callback->printf_filtered) (sim_callback, "%d: %d\n", 
-                                             i, h8_get_stats (sd, i));
+           sim_io_printf (sd, "%d: %d\n", i, h8_get_stats (sd, i));
        }
     }
 #endif
@@ -4946,9 +4921,6 @@ sim_open (SIM_OPEN_KIND kind,
 
   /* FIXME: Much of the code in sim_load can be moved here.  */
 
-  sim_kind = kind;
-  myname = argv[0];
-  sim_callback = callback;
   return sd;
 }
 
@@ -5018,14 +4990,13 @@ sim_load (SIM_DESC sd, const char *prog, bfd *abfd, int from_tty)
   /* `msize' must be a power of two.  */
   if ((memory_size & (memory_size - 1)) != 0)
     {
-      (*sim_callback->printf_filtered) (sim_callback, 
-                                       "sim_load: bad memory size.\n");
+      sim_io_printf (sd, "sim_load: bad memory size.\n");
       return SIM_RC_FAIL;
     }
   h8_set_mask (sd, memory_size - 1);
 
-  if (sim_load_file (sd, myname, sim_callback, prog, prog_bfd,
-                    sim_kind == SIM_OPEN_DEBUG,
+  if (sim_load_file (sd, STATE_MY_NAME (sd), STATE_CALLBACK (sd), prog,
+                    prog_bfd, STATE_OPEN_KIND (sd) == SIM_OPEN_DEBUG,
                     0, sim_write)
       == NULL)
     {