gdb: add target_ops::supports_displaced_step
[deliverable/binutils-gdb.git] / gdb / dcache.h
index 32077a6b5527f2f1fef75b0c81b82c7a377591b2..ba67b7a7e56a876c33aeb37811c17ede3416ed5f 100644 (file)
@@ -1,8 +1,7 @@
 /* Declarations for caching.  Typically used by remote back ends for
    caching remote memory.
 
-   Copyright (C) 1992, 1993, 1995, 1999, 2000, 2001, 2007, 2008, 2009
-   Free Software Foundation, Inc.
+   Copyright (C) 1992-2020 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
 #ifndef DCACHE_H
 #define DCACHE_H
 
+#include "target.h"    /* for enum target_xfer_status */
+
 typedef struct dcache_struct DCACHE;
 
-/* Invalidate DCACHE. */
+/* Invalidate DCACHE.  */
 void dcache_invalidate (DCACHE *dcache);
 
-/* Initialize DCACHE. */
+/* Initialize DCACHE.  */
 DCACHE *dcache_init (void);
 
-/* Free a DCACHE */
+/* Free a DCACHE */
 void dcache_free (DCACHE *);
 
-/* Simple to call from <remote>_xfer_memory */
-
-int dcache_xfer_memory (DCACHE *cache, CORE_ADDR mem, gdb_byte *my,
-                       int len, int should_write);
+/* 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.028882 seconds and 4 git commands to generate.