(m32r_handle_align): Declare type of fragp.
[deliverable/binutils-gdb.git] / gdb / ocd.c
index 6dd601e5da17664e7548b05a57558e82419dc8db..eb831618541f2daece51cd0526b9669859d63990 100644 (file)
--- a/gdb/ocd.c
+++ b/gdb/ocd.c
@@ -31,7 +31,6 @@
 #include "gdbcmd.h"
 #include "objfiles.h"
 #include "gdb-stabs.h"
-#include "dcache.h"
 #include <sys/types.h>
 #include <signal.h>
 #include "serial.h"
@@ -181,7 +180,7 @@ ocd_start_remote (PTR dummy)
 
   target_type = *(enum ocd_target_type *) dummy;
 
-  immediate_quit = 1;          /* Allow user to interrupt it */
+  immediate_quit++;            /* Allow user to interrupt it */
 
   SERIAL_SEND_BREAK (ocd_desc);        /* Wake up the wiggler */
 
@@ -243,7 +242,7 @@ ocd_start_remote (PTR dummy)
     ocd_error ("OCD_SET_CTL_FLAGS:", error_code);
 #endif
 
-  immediate_quit = 0;
+  immediate_quit--;
 
 /* This is really the job of start_remote however, that makes an assumption
    that the target is about to print out a status message of some sort.  That
@@ -273,8 +272,6 @@ ocd_start_remote (PTR dummy)
 /* Open a connection to a remote debugger.
    NAME is the filename used for communication.  */
 
-static DCACHE *ocd_dcache;
-
 void
 ocd_open (char *name, int from_tty, enum ocd_target_type target_type,
          struct target_ops *ops)
@@ -292,11 +289,6 @@ device the OCD device is attached to (e.g. /dev/ttya).");
 
   unpush_target (current_ops);
 
-  if (!ocd_dcache)
-    ocd_dcache = dcache_init (ocd_read_bytes, ocd_write_bytes);
-  else
-    dcache_invd (ocd_dcache);
-
   if (strncmp (name, "wiggler", 7) == 0)
     {
       ocd_desc = SERIAL_OPEN ("ocd");
@@ -387,8 +379,6 @@ ocd_resume (int pid, int step, enum target_signal siggnal)
 {
   int pktlen;
 
-  dcache_invd (ocd_dcache);
-
   if (step)
     ocd_do_command (OCD_STEP, &last_run_status, &pktlen);
   else
@@ -764,18 +754,22 @@ ocd_read_bytes (CORE_ADDR memaddr, char *myaddr, int len)
 \f
 /* Read or write LEN bytes from inferior memory at MEMADDR, transferring
    to or from debugger address MYADDR.  Write to inferior if SHOULD_WRITE is
-   nonzero.  Returns length of data written or read; 0 for error.  */
+   nonzero.  Returns length of data written or read; 0 for error.  TARGET
+   is ignored.  */
 
 /* ARGSUSED */
 int
-ocd_xfer_memory (memaddr, myaddr, len, should_write, target)
-     CORE_ADDR memaddr;
-     char *myaddr;
-     int len;
-     int should_write;
-     struct target_ops *target;        /* ignored */
+ocd_xfer_memory (CORE_ADDR memaddr, char *myaddr, int len, int should_write,
+                struct target_ops *target)
 {
-  return dcache_xfer_memory (ocd_dcache, memaddr, myaddr, len, should_write);
+  int res;
+
+  if (should_write)
+    res = ocd_write_bytes (memaddr, myaddr, len);
+  else
+    res = ocd_read_bytes (memaddr, myaddr, len);
+
+  return res;
 }
 \f
 void
@@ -1318,7 +1312,7 @@ bdm_reset_command (char *args, int from_tty)
     error ("Not connected to OCD device.");
 
   ocd_do_command (OCD_RESET, &status, &pktlen);
-  dcache_invd (ocd_dcache);
+  dcache_invalidate (target_dcache);
   registers_changed ();
 }
 
This page took 0.024866 seconds and 4 git commands to generate.