aboutsummaryrefslogtreecommitdiff
path: root/src/target/armv8_dpm.c
diff options
context:
space:
mode:
authorLiming Sun <lsun@mellanox.com>2018-11-09 16:17:25 -0500
committerAntonio Borneo <borneo.antonio@gmail.com>2021-04-11 21:28:01 +0100
commit651b861d5d5f1e361faee37a10c7d7ce03aa6afa (patch)
tree90da73f23bfa925a1b5515f64d090c20f9ac403e /src/target/armv8_dpm.c
parent0ec9018040c2fd77807d80225b34e2fc7fb23e82 (diff)
downloadriscv-openocd-651b861d5d5f1e361faee37a10c7d7ce03aa6afa.zip
riscv-openocd-651b861d5d5f1e361faee37a10c7d7ce03aa6afa.tar.gz
riscv-openocd-651b861d5d5f1e361faee37a10c7d7ce03aa6afa.tar.bz2
target/aarch64: Add watchpoint support
There are some breakpoint/watchpoint related code in armv8_dpm.c, but seems not working for aarch64. Target aarch64 has its own breakpoint implementation in aarch64.c. This commit follows the same logic to add watchpoint support for target aarch64. This commit also increases the size of stop_reason[] in function gdb_signal_reply() since the old size is too small to fit in a 64-bit address, such as ffff8000115e6980. Change-Id: I907dc0e648130e36b434220f570c37d0e8eb5ce1 Signed-off-by: Liming Sun <lsun@mellanox.com> Signed-off-by: Daniel Goehring <dgoehrin@os.amperecomputing.com> Reviewed-on: http://openocd.zylin.com/4761 Tested-by: jenkins Reviewed-by: Liming Sun <limings@nvidia.com> Reviewed-by: Kevin Burke <kevinb@os.amperecomputing.com> Reviewed-by: Matthias Welwarsky <matthias@welwarsky.de> Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Diffstat (limited to 'src/target/armv8_dpm.c')
-rw-r--r--src/target/armv8_dpm.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/target/armv8_dpm.c b/src/target/armv8_dpm.c
index 1e88a44..e7d0f86 100644
--- a/src/target/armv8_dpm.c
+++ b/src/target/armv8_dpm.c
@@ -1465,8 +1465,10 @@ int armv8_dpm_setup(struct arm_dpm *dpm)
}
/* watchpoint setup */
- target->type->add_watchpoint = dpmv8_add_watchpoint;
- target->type->remove_watchpoint = dpmv8_remove_watchpoint;
+ if (!target->type->add_watchpoint) {
+ target->type->add_watchpoint = dpmv8_add_watchpoint;
+ target->type->remove_watchpoint = dpmv8_remove_watchpoint;
+ }
/* FIXME add vector catch support */