int (*write_core_reg)(struct target *target, unsigned num);
int (*examine_debug_reason)(struct target *target);
- void (*post_debug_entry)(struct target *target);
+ int (*post_debug_entry)(struct target *target);
void (*pre_restore_context)(struct target *target);
- void (*post_restore_context)(struct target *target);
};
static inline struct armv7m_common *
int common_magic;
enum armv7m_mode core_mode;
+
+ uint32_t context[ARMV7M_CONTROL + 1]; //ARMV7M_NUM_REGS
};
struct armv7m_core_reg
uint32_t entry_point, uint32_t exit_point,
int timeout_ms, void *arch_info);
+int armv7m_start_algorithm(struct target *target,
+ int num_mem_params, struct mem_param *mem_params,
+ int num_reg_params, struct reg_param *reg_params,
+ uint32_t entry_point, uint32_t exit_point,
+ void *arch_info);
+
+int armv7m_wait_algorithm(struct target *target,
+ int num_mem_params, struct mem_param *mem_params,
+ int num_reg_params, struct reg_param *reg_params,
+ uint32_t exit_point, int timeout_ms,
+ void *arch_info);
+
int armv7m_invalidate_core_regs(struct target *target);
int armv7m_restore_context(struct target *target);