warning fix: remove senseless assignment before bailing out of fn w/error
[fw/openocd] / src / target / cortex_m3.h
index 629db8e114a1699c10d3c040db541f47e2539eaa..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;
-       arm_jtag_t jtag_info;
+       struct arm_jtag jtag_info;
 
        /* Context information */
        uint32_t dcb_dhcsr;
@@ -152,23 +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;
-       void *arch_info;
-} 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 */