target/cortex_m: support DWT version 2.1 for Archv8_M 00/7800/4
authorFedi Bouzazi <fedi.bouzazi@st.com>
Mon, 14 Aug 2023 12:03:31 +0000 (13:03 +0100)
committerAntonio Borneo <borneo.antonio@gmail.com>
Sun, 17 Sep 2023 12:14:03 +0000 (12:14 +0000)
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.bouzazi@st.com>
Change-Id: I948dae0710ac921a7f0fbcef3ccacdae99184fe4
Reviewed-on: https://review.openocd.org/c/openocd/+/7800
Tested-by: jenkins
Reviewed-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com>
Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
src/target/cortex_m.c
src/target/cortex_m.h

index 014ceaebaa00b163dd9ea68525afc8d9319eca0a..854e8eb586adb300819490b4734c020f30d4bc64 100644 (file)
@@ -1959,7 +1959,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 */
index b5d1da7f245c456965b646c71b84b63599e35701..065e4d47bc6dfa807c8c5b299a9172e0d138f4ff 100644 (file)
@@ -92,7 +92,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

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)