X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Ftarget%2Fcortex_m.h;h=c33486273fc08f44eae89db6a2336238f69bd444;hp=2daf4cb243e747926d466d6b45af710550bc6c16;hb=c734202dc89bb3ee05a204140b3c890451e79686;hpb=81d0b769a65bf15dda2fd51cd4aee50bb0dc16fb diff --git a/src/target/cortex_m.h b/src/target/cortex_m.h index 2daf4cb243..c33486273f 100644 --- a/src/target/cortex_m.h +++ b/src/target/cortex_m.h @@ -136,14 +136,14 @@ #define FPCR_REPLACE_BKPT_BOTH (3 << 30) struct cortex_m_fp_comparator { - int used; + bool used; int type; uint32_t fpcr_value; uint32_t fpcr_address; }; struct cortex_m_dwt_comparator { - int used; + bool used; uint32_t comp; uint32_t mask; uint32_t function; @@ -159,6 +159,7 @@ enum cortex_m_isrmasking_mode { CORTEX_M_ISRMASK_AUTO, CORTEX_M_ISRMASK_OFF, CORTEX_M_ISRMASK_ON, + CORTEX_M_ISRMASK_STEPONLY, }; struct cortex_m_common { @@ -172,9 +173,8 @@ struct cortex_m_common { /* Flash Patch and Breakpoint (FPB) */ int fp_num_lit; int fp_num_code; - int fp_code_available; int fp_rev; - int fpb_enabled; + bool fpb_enabled; struct cortex_m_fp_comparator *fp_comparator_list; /* Data Watchpoint and Trace (DWT) */ @@ -184,12 +184,17 @@ struct cortex_m_common { struct reg_cache *dwt_cache; enum cortex_m_soft_reset_config soft_reset_config; + bool vectreset_supported; enum cortex_m_isrmasking_mode isrmasking_mode; struct armv7m_common armv7m; int apsel; + + /* Whether this target has the erratum that makes C_MASKINTS not apply to + * already pending interrupts */ + bool maskints_erratum; }; static inline struct cortex_m_common *