This is an automated email from Gerrit.

"Fedi Bouzazi <fedi.bouz...@st.com>" just uploaded a new patch set to Gerrit, 
which you can find at https://review.openocd.org/c/openocd/+/7800

-- gerrit

commit 0e296518559c9c34510bcf66edea27c64a5017ce
Author: bouzazif <fedi.bouz...@st.com>
Date:   Mon Aug 14 13:03:31 2023 +0100

    target/cortex_m: support DWT version 2.1 for Archv8_M
    
    According to Arm®v8-M Architecture Reference Manual:
    section D1.2.59 DWT_DEVARCH, DWT Device Architecture Register,
    the field REVISION bits [19:16] defines two DWT architectures revision
    
    Signed-off-by: Fedi BOUZAZI <fedi.bouz...@st.com>
    Change-Id: I948dae0710ac921a7f0fbcef3ccacdae99184fe4

diff --git a/src/target/cortex_m.c b/src/target/cortex_m.c
index 987dc9b245..47e25f7553 100644
--- a/src/target/cortex_m.c
+++ b/src/target/cortex_m.c
@@ -1948,7 +1948,8 @@ static int cortex_m_set_watchpoint(struct target *target, 
struct watchpoint *wat
        target_write_u32(target, comparator->dwt_comparator_address + 0,
                comparator->comp);
 
-       if ((cortex_m->dwt_devarch & 0x1FFFFF) != DWT_DEVARCH_ARMV8M) {
+       if ((cortex_m->dwt_devarch & 0x1FFFFF) != DWT_DEVARCH_ARMV8M_V2_0
+                       && (cortex_m->dwt_devarch & 0x1FFFFF) != 
DWT_DEVARCH_ARMV8M_V2_1) {
                uint32_t mask = 0, temp;
 
                /* watchpoint params were validated earlier */
diff --git a/src/target/cortex_m.h b/src/target/cortex_m.h
index a1c43b56de..1531952470 100644
--- a/src/target/cortex_m.h
+++ b/src/target/cortex_m.h
@@ -81,7 +81,8 @@ struct cortex_m_part_info {
 #define DWT_FUNCTION0  0xE0001028
 #define DWT_DEVARCH            0xE0001FBC
 
-#define DWT_DEVARCH_ARMV8M     0x101A02
+#define DWT_DEVARCH_ARMV8M_V2_0        0x101A02
+#define DWT_DEVARCH_ARMV8M_V2_1        0x111A02
 
 #define FP_CTRL                0xE0002000
 #define FP_REMAP       0xE0002004

-- 

Reply via email to