cortex_a8_wrp_t -> struct cortex_a8_wrp
[openocd.git] / src / target / cortex_a8.h
index 358f71bfff6f817bd1a63536b0d661dae3a989c8..e3b99ee43f1454fd6d63ecb5bbe424852c73e2ec 100644 (file)
@@ -53,6 +53,7 @@ extern char* cortex_a8_state_strings[];
 #define CPUDBG_BVR_BASE        0x100
 #define CPUDBG_BCR_BASE        0x140
 #define CPUDBG_WVR_BASE        0x180
+#define CPUDBG_WCR_BASE        0x1C0
 
 #define CPUDBG_OSLAR   0x300
 #define CPUDBG_OSLSR   0x304
@@ -79,34 +80,30 @@ extern char* cortex_a8_state_strings[];
 #define DSCR_MON_DBG_MODE              15
 #define DSCR_INSTR_COMP                24
 #define DSCR_DTR_TX_FULL               29
+#define DSCR_DTR_RX_FULL               30
 
-typedef struct  cortex_a8_brp_s
+struct cortex_a8_brp
 {
        int used;
        int type;
        uint32_t value;
        uint32_t control;
        uint8_t         BRPn;
-} cortex_a8_brp_t;
+};
 
-typedef struct  cortex_a8_wrp_s
+struct cortex_a8_wrp
 {
        int used;
        int type;
        uint32_t value;
        uint32_t control;
        uint8_t         WRPn;
-} cortex_a8_wrp_t;
+};
 
-typedef struct cortex_a8_common_s
+struct cortex_a8_common
 {
        int common_magic;
-       arm_jtag_t jtag_info;
-
-       /* Core Debug Unit */
-       uint32_t debug_base;
-       uint8_t debug_ap;
-       uint8_t memory_ap;
+       struct arm_jtag jtag_info;
 
        /* Context information */
        uint32_t cpudbg_dscr;
@@ -122,12 +119,12 @@ typedef struct cortex_a8_common_s
        int brp_num;
        int brp_num_available;
 //     int brp_enabled;
-       cortex_a8_brp_t *brp_list;
+       struct cortex_a8_brp *brp_list;
 
        /* Watchpoint register pairs */
        int wrp_num;
        int wrp_num_available;
-       cortex_a8_wrp_t *wrp_list;
+       struct cortex_a8_wrp *wrp_list;
 
        /* Interrupts */
        int intlinesnum;
@@ -136,12 +133,17 @@ typedef struct cortex_a8_common_s
        /* Use cortex_a8_read_regs_through_mem for fast register reads */
        int fast_reg_read;
 
-       armv7a_common_t armv7a_common;
-       void *arch_info;
-} cortex_a8_common_t;
+       struct armv7a_common armv7a_common;
+};
+
+static inline struct cortex_a8_common *
+target_to_cortex_a8(struct target_s *target)
+{
+       return container_of(target->arch_info, struct cortex_a8_common,
+                       armv7a_common.armv4_5_common);
+}
 
-extern int cortex_a8_init_arch_info(target_t *target, cortex_a8_common_t *cortex_a8, jtag_tap_t *tap);
-int cortex_a8_read_memory(struct target_s *target, uint32_t address, uint32_t size, uint32_t count, uint8_t *buffer);
-int cortex_a8_write_memory(struct target_s *target, uint32_t address, uint32_t size, uint32_t count, uint8_t *buffer);
+int cortex_a8_init_arch_info(target_t *target,
+               struct cortex_a8_common *cortex_a8, struct jtag_tap *tap);
 
 #endif /* CORTEX_A8_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)