X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Ftarget%2Farm11.h;h=809c23fbf72998e5c74085800042d0ad5f5be943;hb=71cde5e359f273585880ea8986709b950ba85b08;hp=464782da5ddfa71d520d66eb83e6bf526d28e72c;hpb=55926f576f99a0c67b2836fedf0dc1bfc1260428;p=openocd.git diff --git a/src/target/arm11.h b/src/target/arm11.h index 464782da5d..809c23fbf7 100644 --- a/src/target/arm11.h +++ b/src/target/arm11.h @@ -23,11 +23,7 @@ #ifndef ARM11_H #define ARM11_H -#include "target.h" -#include "register.h" -#include "jtag.h" - -#define asizeof(x) (sizeof(x) / sizeof((x)[0])) +#include "armv4_5.h" #define NEW(type, variable, items) \ type * variable = calloc(1, sizeof(type) * items) @@ -80,7 +76,8 @@ enum arm11_debug_version struct arm11_common { - target_t * target; /**< Reference back to the owner */ + struct arm arm; + struct target * target; /**< Reference back to the owner */ /** \name Processor type detection */ /*@{*/ @@ -104,7 +101,7 @@ struct arm11_common /** \name Shadow registers to save processor state */ /*@{*/ - reg_t * reg_list; /**< target register list */ + struct reg * reg_list; /**< target register list */ uint32_t reg_values[ARM11_REGCACHE_COUNT]; /**< data for registers */ /*@}*/ @@ -116,9 +113,16 @@ struct arm11_common size_t free_wrps; /**< keep track of breakpoints allocated by arm11_add_watchpoint() */ // GA - reg_cache_t *core_cache; + struct reg_cache *core_cache; + + struct arm_jtag jtag_info; }; +static inline struct arm11_common *target_to_arm11(struct target *target) +{ + return container_of(target->arch_info, struct arm11_common, + arm); +} /** * ARM11 DBGTAP instructions @@ -176,17 +180,10 @@ enum arm11_sc7 ARM11_SC7_WCR0 = 112, }; -typedef struct arm11_reg_state_s +struct arm11_reg_state { uint32_t def_index; - target_t * target; -} arm11_reg_state_t; - -int arm11_register_commands(struct command_context_s *cmd_ctx); - -int arm11_read_etm(struct arm11_common * arm11, uint8_t address, uint32_t *value); -int arm11_write_etm(struct arm11_common * arm11, uint8_t address, uint32_t value); - - + struct target * target; +}; #endif /* ARM11_H */