gdb/gdbserver/
[deliverable/binutils-gdb.git] / gdb / gdbserver / target.h
index 6109b1caa8de1e268b6eb5e008b01c604e170809..6ee500982e679fc9ea4f98bdb33c0f50002727bc 100644 (file)
@@ -289,6 +289,16 @@ struct target_ops
 
   /* Target specific qSupported support.  */
   void (*process_qsupported) (const char *);
+
+  /* Return 1 if the target supports tracepoints, 0 (or leave the
+     callback NULL) otherwise.  */
+  int (*supports_tracepoints) (void);
+
+  /* Read PC from REGCACHE.  */
+  CORE_ADDR (*read_pc) (struct regcache *regcache);
+
+  /* Write PC to REGCACHE.  */
+  void (*write_pc) (struct regcache *regcache, CORE_ADDR pc);
 };
 
 extern struct target_ops *the_target;
@@ -333,6 +343,10 @@ void set_target_ops (struct target_ops *);
   if (the_target->process_qsupported) \
     the_target->process_qsupported (query)
 
+#define target_supports_tracepoints()                  \
+  (the_target->supports_tracepoints                    \
+   ? (*the_target->supports_tracepoints) () : 0)
+
 /* Start non-stop mode, returns 0 on success, -1 on failure.   */
 
 int start_non_stop (int nonstop);
This page took 0.039389 seconds and 4 git commands to generate.