If REGNO is -1, fetch all registers; otherwise, fetch at least REGNO. */
- void (*fetch_registers) (int regno);
+ void (*fetch_registers) (struct regcache *regcache, int regno);
/* Store registers to the inferior process.
If REGNO is -1, store all registers; otherwise, store at least REGNO. */
- void (*store_registers) (int regno);
+ void (*store_registers) (struct regcache *regcache, int regno);
/* Read memory from the inferior process. This should generally be
called through read_inferior_memory, which handles breakpoint shadowing.
/* If not NULL, target-specific routine to process monitor command.
Returns 1 if handled, or 0 to perform default processing. */
int (*handle_monitor_command) (char *);
+
+ /* Returns the core given a thread, or -1 if not known. */
+ int (*core_of_thread) (ptid_t);
+
+ /* Target specific qSupported support. */
+ void (*process_qsupported) (const char *);
};
extern struct target_ops *the_target;
#define mythread_alive(pid) \
(*the_target->thread_alive) (pid)
-#define fetch_inferior_registers(regno) \
- (*the_target->fetch_registers) (regno)
+#define fetch_inferior_registers(regcache, regno) \
+ (*the_target->fetch_registers) (regcache, regno)
-#define store_inferior_registers(regno) \
- (*the_target->store_registers) (regno)
+#define store_inferior_registers(regcache, regno) \
+ (*the_target->store_registers) (regcache, regno)
#define join_inferior(pid) \
(*the_target->join) (pid)
(the_target->supports_multi_process ? \
(*the_target->supports_multi_process) () : 0)
+#define target_process_qsupported(query) \
+ if (the_target->process_qsupported) \
+ the_target->process_qsupported (query)
+
/* Start non-stop mode, returns 0 on success, -1 on failure. */
int start_non_stop (int nonstop);