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 --