target/armv7m: minor fixes of target algo exit point check
[fw/openocd] / src / target / target.h
index 65494afd0bab9e1520d079b0a62b95ef1b4ad18e..fc150442d4f01d88a0e173c3dcc4721595c8b0b6 100644 (file)
@@ -36,6 +36,7 @@
 struct reg;
 struct trace;
 struct command_context;
+struct command_invocation;
 struct breakpoint;
 struct watchpoint;
 struct mem_param;
@@ -257,6 +258,8 @@ enum target_event {
        TARGET_EVENT_RESUMED,           /* target resumed to normal execution */
        TARGET_EVENT_RESUME_START,
        TARGET_EVENT_RESUME_END,
+       TARGET_EVENT_STEP_START,
+       TARGET_EVENT_STEP_END,
 
        TARGET_EVENT_GDB_START, /* debugger started execution (step/run) */
        TARGET_EVENT_GDB_END, /* debugger stopped execution (step/run) */
@@ -274,6 +277,7 @@ enum target_event {
        TARGET_EVENT_DEBUG_RESUMED, /* target resumed to execute on behalf of the debugger */
 
        TARGET_EVENT_EXAMINE_START,
+       TARGET_EVENT_EXAMINE_FAIL,
        TARGET_EVENT_EXAMINE_END,
 
        TARGET_EVENT_GDB_ATTACH,
@@ -501,6 +505,16 @@ int target_get_gdb_reg_list(struct target *target,
                struct reg **reg_list[], int *reg_list_size,
                enum target_register_class reg_class);
 
+/**
+ * Obtain the registers for GDB, but don't read register values from the
+ * target.
+ *
+ * This routine is a wrapper for target->type->get_gdb_reg_list_noread.
+ */
+int target_get_gdb_reg_list_noread(struct target *target,
+               struct reg **reg_list[], int *reg_list_size,
+               enum target_register_class reg_class);
+
 /**
  * Check if @a target allows GDB connections.
  *
@@ -729,6 +743,10 @@ int target_arch_state(struct target *target);
 
 void target_handle_event(struct target *t, enum target_event e);
 
+void target_handle_md_output(struct command_invocation *cmd,
+       struct target *target, target_addr_t address, unsigned size,
+       unsigned count, const uint8_t *buffer);
+
 #define ERROR_TARGET_INVALID   (-300)
 #define ERROR_TARGET_INIT_FAILED (-301)
 #define ERROR_TARGET_TIMEOUT   (-302)
@@ -741,6 +759,7 @@ void target_handle_event(struct target *t, enum target_event e);
 #define ERROR_TARGET_NOT_RUNNING (-310)
 #define ERROR_TARGET_NOT_EXAMINED (-311)
 #define ERROR_TARGET_DUPLICATE_BREAKPOINT (-312)
+#define ERROR_TARGET_ALGO_EXIT  (-313)
 
 extern bool get_target_reset_nag(void);