Part II of adding callback argument to sim_open(). Update all the
authorAndrew Cagney <cagney@redhat.com>
Tue, 20 May 1997 01:57:43 +0000 (01:57 +0000)
committerAndrew Cagney <cagney@redhat.com>
Tue, 20 May 1997 01:57:43 +0000 (01:57 +0000)
other simulators; remove SIM_DESC from depreciated function
sim_set_callbacks().

include/remote-sim.h
sim/ppc/ChangeLog
sim/ppc/sim_calls.c
sim/tic80/ChangeLog
sim/tic80/sim-calls.c
sim/tic80/sim-main.h
sim/w65/ChangeLog
sim/w65/interp.c

index 45abd4bb65170754416892d68098ea284dea246a..fb13a2497726961ac87ebfac0731fab69fbe861b 100644 (file)
@@ -162,19 +162,22 @@ int sim_stop PARAMS ((SIM_DESC sd));
 void sim_do_command PARAMS ((SIM_DESC sd, char *cmd));
 
 
-/* Provide simulator with a standard host_callback_struct.
-   If SD is NULL, the command is to be interpreted as refering to
-   the global state, however the simulator defines that.
+/* NOTE: sim_set_callbacks () is depreciated.
+
+   Provide simulator with a default (global) host_callback_struct. */
+
+void sim_set_callbacks PARAMS ((struct host_callback_struct *));
+
 
-   This function is depreciated. Callbacks are set as part of
-   sim_open. */
+/* NOTE: sim_size() is depreciated.
 
-void sim_set_callbacks PARAMS ((SIM_DESC sd, struct host_callback_struct *));
+   sim_size() does not take a SIM_DESC argument as this function is
+   used before sim_open() has been called. */
 
+void sim_size PARAMS ((int i));
 
-/* NOTE: sim_size() and sim_trace() are going away */
 
-void sim_size PARAMS ((SIM_DESC sd, int i));
+/* NOTE: sim_trace() is depreciated. */
 
 int sim_trace PARAMS ((SIM_DESC sd));
 
index 49b0aa2161ea262e54299f5b823dc4626d79c1fd..67b5217ee9c51181b94870be9d9793b683ead553 100644 (file)
@@ -1,3 +1,13 @@
+Tue May 20 10:22:50 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * sim_calls.c (sim_open): Add callback argument.
+       (sim_set_callbacks): Delete SIM_DESC argument.
+
+Tue Apr 22 22:36:57 1997  Mike Meissner  <meissner@cygnus.com>
+
+       * sim_callbacks.h (error): Make declaration match gdb's.
+       * main.c (error): Ditto.
+
 Fri Apr 18 17:03:09 1997  Andrew Cagney  <cagney@b1.cygnus.com>
 
        * sim_calls.c (sim_stop_reason): Simplify.  Was running implies
index b9962b8d9ecd34374ccc3563626d27234c4272c8..f7d880360082e96d1410702fc9ca4c422f260475 100644 (file)
@@ -57,8 +57,10 @@ static const char *register_names[] = REGISTER_NAMES;
 static unsigned_word entry_point;
 
 SIM_DESC
-sim_open (SIM_OPEN_KIND kind, char **argv)
+sim_open (SIM_OPEN_KIND kind, host_callback *callback, char **argv)
 {
+  callbacks = callback;
+
   /* Note: The simulation is not created by sim_open() because
      complete information is not yet available */
   /* trace the call */
@@ -215,48 +217,31 @@ sim_create_inferior (SIM_DESC sd, char **argv, char **envp)
 }
 
 
-static volatile int sim_should_run;
-
 void
 sim_stop_reason (SIM_DESC sd, enum sim_stop *reason, int *sigrc)
 {
   psim_status status = psim_get_status(simulator);
 
-  switch (CURRENT_ENVIRONMENT) {
-
-  case USER_ENVIRONMENT:
-  case VIRTUAL_ENVIRONMENT:
-    switch (status.reason) {
-    case was_continuing:
-      *reason = sim_stopped;
-      *sigrc = SIGTRAP;
-      if (sim_should_run) {
-       error("sim_stop_reason() unknown reason for halt\n");
-      }
-      break;
-    case was_trap:
-      *reason = sim_stopped;
+  switch (status.reason) {
+  case was_continuing:
+    *reason = sim_stopped;
+    if (status.signal == 0)
       *sigrc = SIGTRAP;
-      break;
-    case was_exited:
-      *reason = sim_exited;
-      *sigrc = 0;
-      break;
-    case was_signalled:
-      *reason = sim_signalled;
+    else
       *sigrc = status.signal;
-      break;
-    }
     break;
-
-  case OPERATING_ENVIRONMENT:
+  case was_trap:
     *reason = sim_stopped;
     *sigrc = SIGTRAP;
     break;
-
-  default:
-    error("sim_stop_reason() - unknown environment\n");
-  
+  case was_exited:
+    *reason = sim_exited;
+    *sigrc = status.signal;
+    break;
+  case was_signalled:
+    *reason = sim_signalled;
+    *sigrc = status.signal;
+    break;
   }
 
   TRACE(trace_gdb, ("sim_stop_reason(reason=0x%lx(%ld), sigrc=0x%lx(%ld))\n",
@@ -266,10 +251,12 @@ sim_stop_reason (SIM_DESC sd, enum sim_stop *reason, int *sigrc)
 
 
 /* Run (or resume) the program.  */
-static RETSIGTYPE
-sim_ctrl_c(int sig)
+
+int
+sim_stop (SIM_DESC sd)
 {
-  sim_should_run = 0;
+  psim_stop (simulator);
+  return 1;
 }
 
 void
@@ -280,19 +267,11 @@ sim_resume (SIM_DESC sd, int step, int siggnal)
 
   if (step)
     {
-      psim_step(simulator);
-      /* sim_stop_reason has a sanity check for stopping while
-        was_continuing.  We don't want that here so reset sim_should_run.  */
-      sim_should_run = 0;
+      psim_step (simulator);
     }
   else
     {
-      RETSIGTYPE (*prev) ();
-
-      prev = signal(SIGINT, sim_ctrl_c);
-      sim_should_run = 1;
-      psim_run_until_stop(simulator, &sim_should_run);
-      signal(SIGINT, prev);
+      psim_run (simulator);
     }
 }
 
@@ -406,7 +385,7 @@ sim_io_flush_stdoutput(void)
 }
 
 void
-sim_set_callbacks (SIM_DESC sd, host_callback *callback)
+sim_set_callbacks (host_callback *callback)
 {
   callbacks = callback;
   TRACE(trace_gdb, ("sim_set_callbacks called\n"));
index bd62e585496b499359af2f6f290c37187c7382d0..28e6de572f534afa9b18307c252748b7cb4a05c9 100644 (file)
@@ -1,8 +1,11 @@
 Tue May 20 09:33:31 1997  Andrew Cagney  <cagney@b1.cygnus.com>
 
+       * sim-main.h: Include <unistd.h>.
+
        * sim-calls.c (sim_set_callback): Delete.
        (sim_open): Add/install callback argument.
-
+       (sim_size): Delete.
+       
 Mon May 19 18:59:33 1997  Mike Meissner  <meissner@cygnus.com>
 
        * configure.in: Check for getpid, kill functions.
index e62ca13dbe2d12a4112174e0fd9ced20fc92f00f..d7b0af609d1c377d80445e702b5f7ac26352a173 100644 (file)
@@ -110,14 +110,6 @@ sim_open (SIM_OPEN_KIND kind, struct host_callback_struct *callback, char **argv
 }
 
 
-/* NOTE: sim_size is going away */
-void
-sim_size (SIM_DESC sd, int i)
-{
-  sim_io_error (sd, "unexpected call to sim_size()");
-}
-
-
 void
 sim_close (SIM_DESC sd, int quitting)
 {
index 3b0672366794d88c7c389dd4af0d990a0f7ea75f..08818889f3e50239642c7dcec4653acbf0011dac 100644 (file)
@@ -27,6 +27,9 @@
 
 #include <signal.h>
 #include <errno.h>
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
 
 /* These are generated files.  */
 #include "itable.h"
index 1f3258539fbb7535acc44f85590690a40543f511..0be0da3b66ad0b2e0edd3250bb6fe69541a326f3 100644 (file)
@@ -1,3 +1,7 @@
+Tue May 20 10:24:54 1997  Andrew Cagney  <cagney@b1.cygnus.com>
+
+       * interp.c (sim_open): Add callback argument.
+
 Tue Apr 15 14:55:10 1997  Ian Lance Taylor  <ian@cygnus.com>
 
        * Makefile.in (INSTALL): Set to @INSTALL@.
index c01be452290d1aab25dc25031efd8add5f6caad9..70e7b478c2cec376b691daa0d33caed81bb7312a 100644 (file)
@@ -322,8 +322,9 @@ sim_kill ()
 }
 
 void
-sim_open (kind,argv)
+sim_open (kind,cb,argv)
      SIM_OPEN_KIND kind;
+     host_callback *cb;
      char **argv;
 {
 }