aboutsummaryrefslogtreecommitdiff
path: root/target-arm/internals.h
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2014-09-12 14:06:49 +0100
committerPeter Maydell <peter.maydell@linaro.org>2014-09-12 14:06:49 +0100
commit9ee98ce81089a123dd0c37f782d726bb14c67bf6 (patch)
tree02f2a5a4f342926966abfb20cf7eda1f45abb62d /target-arm/internals.h
parent86025ee4438e6e46eed767aad7c17ea94bb5c19b (diff)
downloadqemu-9ee98ce81089a123dd0c37f782d726bb14c67bf6.zip
qemu-9ee98ce81089a123dd0c37f782d726bb14c67bf6.tar.gz
qemu-9ee98ce81089a123dd0c37f782d726bb14c67bf6.tar.bz2
target-arm: Implement setting of watchpoints
Implement support for setting QEMU watchpoints based on the values the guest writes to the ARM architected watchpoint registers. (We do not yet report the firing of the watchpoints to the guest, so they will just be ignored.) Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'target-arm/internals.h')
-rw-r--r--target-arm/internals.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/target-arm/internals.h b/target-arm/internals.h
index 53c2e3c..22f382c 100644
--- a/target-arm/internals.h
+++ b/target-arm/internals.h
@@ -296,4 +296,14 @@ static inline uint32_t syn_swstep(int same_el, int isv, int ex)
| (isv << 24) | (ex << 6) | 0x22;
}
+/* Update a QEMU watchpoint based on the information the guest has set in the
+ * DBGWCR<n>_EL1 and DBGWVR<n>_EL1 registers.
+ */
+void hw_watchpoint_update(ARMCPU *cpu, int n);
+/* Update the QEMU watchpoints for every guest watchpoint. This does a
+ * complete delete-and-reinstate of the QEMU watchpoint list and so is
+ * suitable for use after migration or on reset.
+ */
+void hw_watchpoint_update_all(ARMCPU *cpu);
+
#endif