summaryrefslogtreecommitdiff
path: root/src/target/arm_dpm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/target/arm_dpm.c')
-rw-r--r--src/target/arm_dpm.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/target/arm_dpm.c b/src/target/arm_dpm.c
index f94fcc4e..7c09e064 100644
--- a/src/target/arm_dpm.c
+++ b/src/target/arm_dpm.c
@@ -736,6 +736,23 @@ static int dpm_remove_watchpoint(struct target *target, struct watchpoint *wp)
return retval;
}
+void arm_dpm_report_wfar(struct arm_dpm *dpm, uint32_t addr)
+{
+ switch (dpm->arm->core_state) {
+ case ARMV4_5_STATE_ARM:
+ addr -= 8;
+ break;
+ case ARMV4_5_STATE_THUMB:
+ case ARM_STATE_THUMB_EE:
+ addr -= 4;
+ break;
+ case ARMV4_5_STATE_JAZELLE:
+ /* ?? */
+ break;
+ }
+ dpm->wp_pc = addr;
+}
+
/*----------------------------------------------------------------------*/
/*