* Makefile.in (CSEARCH): Add -I$(srcdir)/../../gdb
authorDavid Edelsohn <dje.gcc@gmail.com>
Tue, 26 Oct 1993 17:01:03 +0000 (17:01 +0000)
committerDavid Edelsohn <dje.gcc@gmail.com>
Tue, 26 Oct 1993 17:01:03 +0000 (17:01 +0000)
* compile.c: #include "remote-sim.h".
(sim_resume): New arg siggnal.
(sim_write): Use SIM_ADDR for type of arg addr.  Always return a value.
(sim_read): Ditto.
(sim_store_register): Result is type int.
(sim_fetch_register): Ditto.
(sim_stop_reason): Renamed from sim_stop_signal.
(sim_set_pc): Use SIM_ADDR for type of arg pc.
(sim_info): int result, new arg printf_fn.
(sim_kill): int result.
(sim_open): int result, new arg name.
* run.c (main): Use sim_set_pc to set pc.  Update call to sim_info.

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

index e8d00d9402691da6babe02a0074b2b062b3f8314..564aad0c12b395008637da3dd9629a82cba82f56 100644 (file)
@@ -1,3 +1,21 @@
+Tue Oct 26 09:43:36 1993  Doug Evans  (dje@canuck.cygnus.com)
+
+       * Makefile.in (CSEARCH): Add -I$(srcdir)/../../gdb
+       * compile.c: #include "remote-sim.h".
+       (sim_resume): New arg siggnal.
+       (sim_write): Use SIM_ADDR for type of arg addr.
+       Always return a value.
+       (sim_read): Ditto.
+       (sim_store_register): Result is type int.
+       (sim_fetch_register): Ditto.
+       (sim_stop_reason): Renamed from sim_stop_signal.
+       (sim_set_pc): Use SIM_ADDR for type of arg pc.
+       (sim_info): int result, new arg printf_fn.
+       (sim_kill): int result.
+       (sim_open): int result, new arg name.
+       * run.c (main): Use sim_set_pc to set pc.
+       Update call to sim_info.
+
 Sat Oct 23 15:01:18 1993  Doug Evans  (dje@canuck.cygnus.com)
 
        * compile.c (sim_stop_signal): Result is now enum sim_stop.
index 09085d1b9dc6a50b0716955f667a9c95d29b738f..0cf0f20eb4700d72d5c3991c44ef6c49d555cfe0 100644 (file)
@@ -21,7 +21,7 @@
 #include "sysdep.h"
 #include <sys/times.h>
 #include <sys/param.h>
-
+#include "remote-sim.h"
 
 int debug;
 
@@ -780,7 +780,7 @@ int n,nz;
 }                                                                              
 
 int
-sim_resume (step)
+sim_resume (step, siggnal)
 {
   static int init1;
   int cycles = 0;
@@ -1462,7 +1462,7 @@ case O(name, SL):{ int t;int hm = 0x80000000; rd = GET_L_REG(code->src.reg);how;
 
 int
 sim_write (addr, buffer, size)
-     long int addr;
+     SIM_ADDR addr;
      unsigned char *buffer;
      int size;
 {
@@ -1470,24 +1470,24 @@ sim_write (addr, buffer, size)
 
   init_pointers ();
   if (addr < 0 || addr + size > MSIZE)
-    return;
+    return 0;
   for (i = 0; i < size; i++)
     {
       cpu.memory[addr + i] = buffer[i];
       cpu.cache_idx[addr + i] = 0;
     }
-return size;
+  return size;
 }
 
 int
 sim_read (addr, buffer, size)
-     long int addr;
-     char *buffer;
+     SIM_ADDR addr;
+     unsigned char *buffer;
      int size;
 {
   init_pointers ();
   if (addr < 0 || addr + size > MSIZE)
-    return;
+    return 0;
   memcpy (buffer, cpu.memory + addr, size);
   return size;
 }
@@ -1515,7 +1515,7 @@ sim_read (addr, buffer, size)
 #define TICK_REGNUM     12
 
 
-void
+int
 sim_store_register (rn, value)
      int rn;
      unsigned char *value;
@@ -1560,12 +1560,13 @@ sim_store_register (rn, value)
       cpu.ticks = longval;
       break;
     }
+  return 0;
 }
 
-void
+int
 sim_fetch_register (rn, buf)
      int rn;
-     char *buf;
+     unsigned char *buf;
 {
   int v;
   int longreg = 0;
@@ -1595,7 +1596,6 @@ sim_fetch_register (rn, buf)
     case 10:
       v = cpu.cycles;
       longreg = 1;
-
       break;
     case 11:
       v = cpu.ticks;
@@ -1605,7 +1605,6 @@ sim_fetch_register (rn, buf)
       v = cpu.insts;
       longreg = 1;
       break;
-
     }
   if (h8300hmode || longreg)
     {
@@ -1619,6 +1618,7 @@ sim_fetch_register (rn, buf)
       buf[0] = v >> 8;
       buf[1] = v;
     }
+  return 0;
 }
 
 int
@@ -1627,17 +1627,22 @@ sim_trace ()
   return 0;
 }
 
-enum sim_stop
-sim_stop_signal (sigrc)
-     int *sigrc
+int
+sim_stop_reason (reason, sigrc)
+     enum sim_stop *reason;
+     int *sigrc;
 {
+  *reason = sim_stopped;
   *sigrc = cpu.exception;
-  return sim_stopped;
+  return 0;
 }
 
+int
 sim_set_pc (n)
+     SIM_ADDR n;
 {
   cpu.pc = n;
+  return 0;
 }
 
 
@@ -1654,8 +1659,9 @@ sim_csize (n)
 
 
 
-void
-sim_info (verbose)
+int
+sim_info (printf_fn, verbose)
+     void (*printf_fn)();
      int verbose;
      
 {
@@ -1684,6 +1690,8 @@ sim_info (verbose)
        }
     }
 #endif
+
+  return 0;
 }
 
 void
@@ -1692,19 +1700,21 @@ set_h8300h ()
   h8300hmode = 1;
 }
 
-void
+int
 sim_kill()
 {
+  return 0;
 }
 
-sim_open ()
+sim_open (name)
+     char *name;
 {
   return 0;
 }
 
 sim_set_args(argv, env)
-char **argv;
-char **env;
+     char **argv;
+     char **env;
 {
   return 0;
 }
index 30104330b0d12723287b6a40308860740bb8665a..72f2c18bf2358b38ac6e3bb2ab0742e017c692d9 100644 (file)
@@ -18,6 +18,7 @@
 
 */
 
+#include <stdio.h>
 #include "bfd.h"
 #include "sysdep.h"
 
@@ -72,10 +73,10 @@ main (ac, av)
            }
 
          start_address = bfd_get_start_address(abfd);
-         sim_store_register(9,start_address);
+         sim_set_pc (start_address);
          sim_resume(0,0);
          if (verbose)
-           sim_info (verbose);
+           sim_info (printf, verbose - 1);
          return 0;
        }
     }