]> git.sur5r.net Git - openocd/blobdiff - src/target/armv7m.h
arm: error propagation of arm_jtag_set_instr
[openocd] / src / target / armv7m.h
index 9787e305442b6479ec9c43316abd1988db0df5e9..8ef380088b4094d09e6efd2847562c183f4518c1 100644 (file)
@@ -100,11 +100,13 @@ enum
 
 struct armv7m_common
 {
+       struct arm      arm;
+
        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;
 
@@ -119,16 +121,20 @@ struct armv7m_common
        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 *
 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