target: create/use register_cache_invalidate()
[openocd.git] / src / target / arm11.h
index 464782da5ddfa71d520d66eb83e6bf526d28e72c..809c23fbf72998e5c74085800042d0ad5f5be943 100644 (file)
 #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 */

Linking to existing account procedure

If you already have an account and want to add another login method you MUST first sign in with your existing account and then change URL to read https://review.openocd.org/login/?link to get to this page again but this time it'll work for linking. Thank you.

SSH host keys fingerprints

1024 SHA256:YKx8b7u5ZWdcbp7/4AeXNaqElP49m6QrwfXaqQGJAOk gerrit-code-review@openocd.zylin.com (DSA)
384 SHA256:jHIbSQa4REvwCFG4cq5LBlBLxmxSqelQPem/EXIrxjk gerrit-code-review@openocd.org (ECDSA)
521 SHA256:UAOPYkU9Fjtcao0Ul/Rrlnj/OsQvt+pgdYSZ4jOYdgs gerrit-code-review@openocd.org (ECDSA)
256 SHA256:A13M5QlnozFOvTllybRZH6vm7iSt0XLxbA48yfc2yfY gerrit-code-review@openocd.org (ECDSA)
256 SHA256:spYMBqEYoAOtK7yZBrcwE8ZpYt6b68Cfh9yEVetvbXg gerrit-code-review@openocd.org (ED25519)
+--[ED25519 256]--+
|=..              |
|+o..   .         |
|*.o   . .        |
|+B . . .         |
|Bo. = o S        |
|Oo.+ + =         |
|oB=.* = . o      |
| =+=.+   + E     |
|. .=o   . o      |
+----[SHA256]-----+
2048 SHA256:0Onrb7/PHjpo6iVZ7xQX2riKN83FJ3KGU0TvI0TaFG4 gerrit-code-review@openocd.zylin.com (RSA)