gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / gdb / dcache.h
index 780dc30bae9cd5dea436bc14edf70a500f60da6d..ba67b7a7e56a876c33aeb37811c17ede3416ed5f 100644 (file)
@@ -1,7 +1,7 @@
 /* Declarations for caching.  Typically used by remote back ends for
    caching remote memory.
 
-   Copyright (C) 1992-2014 Free Software Foundation, Inc.
+   Copyright (C) 1992-2020 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
@@ -21,6 +21,8 @@
 #ifndef DCACHE_H
 #define DCACHE_H
 
+#include "target.h"    /* for enum target_xfer_status */
+
 typedef struct dcache_struct DCACHE;
 
 /* Invalidate DCACHE.  */
@@ -32,12 +34,22 @@ DCACHE *dcache_init (void);
 /* Free a DCACHE.  */
 void dcache_free (DCACHE *);
 
-/* Simple to call from <remote>_xfer_memory.  */
-
-int dcache_xfer_memory (struct target_ops *ops, DCACHE *cache, CORE_ADDR mem,
-                       gdb_byte *my, int len, int should_write);
-
-void dcache_update (DCACHE *dcache, CORE_ADDR memaddr, gdb_byte *myaddr,
-                   int len);
+/* A deletion adapter that calls dcache_free.  */
+struct dcache_deleter
+{
+  void operator() (DCACHE *d) const
+  {
+    dcache_free (d);
+  }
+};
+
+enum target_xfer_status
+  dcache_read_memory_partial (struct target_ops *ops, DCACHE *dcache,
+                             CORE_ADDR memaddr, gdb_byte *myaddr,
+                             ULONGEST len, ULONGEST *xfered_len);
+
+void dcache_update (DCACHE *dcache, enum target_xfer_status status,
+                   CORE_ADDR memaddr, const gdb_byte *myaddr,
+                   ULONGEST len);
 
 #endif /* DCACHE_H */
This page took 0.025231 seconds and 4 git commands to generate.