projects
/
fw
/
openocd
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
cfi: leave check on whether target is running to target_write_memory()
[fw/openocd]
/
src
/
target
/
armv7m.h
diff --git
a/src/target/armv7m.h
b/src/target/armv7m.h
index 86caae21b44a888756f930bb1e986442dfea2f48..8ef380088b4094d09e6efd2847562c183f4518c1 100644
(file)
--- a/
src/target/armv7m.h
+++ b/
src/target/armv7m.h
@@
-100,11
+100,13
@@
enum
struct armv7m_common
{
struct armv7m_common
{
+ struct arm arm;
+
int common_magic;
struct reg_cache *core_cache;
enum armv7m_mode core_mode;
int exception_number;
int common_magic;
struct reg_cache *core_cache;
enum armv7m_mode core_mode;
int exception_number;
- struct
swjdp_common swjdp_info
;
+ struct
adiv5_dap dap
;
uint32_t demcr;
uint32_t demcr;
@@
-119,16
+121,20
@@
struct armv7m_common
int (*write_core_reg)(struct target *target, unsigned num);
int (*examine_debug_reason)(struct target *target);
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 (*pre_restore_context)(struct target *target);
- void (*post_restore_context)(struct target *target);
};
static inline struct armv7m_common *
target_to_armv7m(struct target *target)
{
};
static inline struct armv7m_common *
target_to_armv7m(struct target *target)
{
- return target->arch_info;
+ return container_of(target->arch_info, struct armv7m_common, arm);
+}
+
+static inline bool is_armv7m(struct armv7m_common *armv7m)
+{
+ return armv7m->common_magic == ARMV7M_COMMON_MAGIC;
}
struct armv7m_algorithm
}
struct armv7m_algorithm
@@
-171,6
+177,8
@@
int armv7m_checksum_memory(struct target *target,
int armv7m_blank_check_memory(struct target *target,
uint32_t address, uint32_t count, uint32_t* blank);
int armv7m_blank_check_memory(struct target *target,
uint32_t address, uint32_t count, uint32_t* blank);
+int armv7m_maybe_skip_bkpt_inst(struct target *target, bool *inst_found);
+
extern const struct command_registration armv7m_command_handlers[];
#endif /* ARMV7M_H */
extern const struct command_registration armv7m_command_handlers[];
#endif /* ARMV7M_H */