cortex_m3: add auto maskisr
[openocd.git] / src / target / cortex_m3.h
index 5b1d5eaea38b718f8d6e7adb7498b45d1ec975fe..e16aa89feb96544664d4997f8e032843656341bd 100644 (file)
@@ -26,8 +26,6 @@
 #ifndef CORTEX_M3_H
 #define CORTEX_M3_H
 
-#include "register.h"
-#include "target.h"
 #include "armv7m.h"
 
 
 #define FPCR_REPLACE_BKPT_HIGH  (2 << 30)
 #define FPCR_REPLACE_BKPT_BOTH  (3 << 30)
 
-typedef struct  cortex_m3_fp_comparator_s
+struct cortex_m3_fp_comparator
 {
        int used;
        int type;
        uint32_t fpcr_value;
        uint32_t fpcr_address;
-} cortex_m3_fp_comparator_t;
+};
 
-typedef struct  cortex_m3_dwt_comparator_s
+struct cortex_m3_dwt_comparator
 {
        int used;
        uint32_t comp;
        uint32_t mask;
        uint32_t function;
        uint32_t dwt_comparator_address;
-} cortex_m3_dwt_comparator_t;
+};
 
-typedef struct cortex_m3_common_s
+enum cortex_m3_soft_reset_config
+{
+       CORTEX_M3_RESET_SYSRESETREQ,
+       CORTEX_M3_RESET_VECTRESET,
+};
+
+enum cortex_m3_isrmasking_mode
+{
+       CORTEX_M3_ISRMASK_AUTO,
+       CORTEX_M3_ISRMASK_OFF,
+       CORTEX_M3_ISRMASK_ON,
+};
+
+struct cortex_m3_common
 {
        int common_magic;
        struct arm_jtag jtag_info;
@@ -152,22 +163,26 @@ typedef struct cortex_m3_common_s
        int fp_code_available;
        int fpb_enabled;
        int auto_bp_type;
-       cortex_m3_fp_comparator_t *fp_comparator_list;
+       struct cortex_m3_fp_comparator *fp_comparator_list;
 
        /* Data Watchpoint and Trace (DWT) */
        int dwt_num_comp;
        int dwt_comp_available;
-       cortex_m3_dwt_comparator_t *dwt_comparator_list;
-       struct reg_cache_s *dwt_cache;
+       struct cortex_m3_dwt_comparator *dwt_comparator_list;
+       struct reg_cache *dwt_cache;
+
+       enum cortex_m3_soft_reset_config soft_reset_config;
+
+       enum cortex_m3_isrmasking_mode isrmasking_mode;
 
-       armv7m_common_t armv7m;
-} cortex_m3_common_t;
+       struct armv7m_common armv7m;
+};
 
-static inline struct cortex_m3_common_s *
-target_to_cm3(struct target_s *target)
+static inline struct cortex_m3_common *
+target_to_cm3(struct target *target)
 {
        return container_of(target->arch_info,
-                       struct cortex_m3_common_s, armv7m);
+                       struct cortex_m3_common, armv7m);
 }
 
 #endif /* CORTEX_M3_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)