summaryrefslogtreecommitdiff
path: root/src/target/arm_dpm.h
diff options
context:
space:
mode:
authorDavid Brownell <dbrownell@users.sourceforge.net>2009-12-11 15:26:10 -0800
committerDavid Brownell <dbrownell@users.sourceforge.net>2009-12-11 15:26:10 -0800
commit75c706cc043183d98592dbe3c6f170d627849d0f (patch)
tree4cb1ab35d34e372a3e21826a121f575c479c1b40 /src/target/arm_dpm.h
parent838d41af29c0b703fd55ebb5c3aebcb4e0bea460 (diff)
downloadopenocd+libswd-75c706cc043183d98592dbe3c6f170d627849d0f.tar.gz
openocd+libswd-75c706cc043183d98592dbe3c6f170d627849d0f.tar.bz2
openocd+libswd-75c706cc043183d98592dbe3c6f170d627849d0f.tar.xz
openocd+libswd-75c706cc043183d98592dbe3c6f170d627849d0f.zip
ARM DPM: support updating HW breakpoints
Abstract the DPM breakpoint and watchpoint data structures to have a shared core for housekeeping. Abstract the code updating the watchpoint registers so that it can be used to update breakpoint registers. Then do so, when something has set up the breakpoint state used by this code. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Diffstat (limited to 'src/target/arm_dpm.h')
-rw-r--r--src/target/arm_dpm.h20
1 files changed, 9 insertions, 11 deletions
diff --git a/src/target/arm_dpm.h b/src/target/arm_dpm.h
index 135e3db8..5d75ed41 100644
--- a/src/target/arm_dpm.h
+++ b/src/target/arm_dpm.h
@@ -31,24 +31,22 @@
* registers are compatible.
*/
-struct dpm_bp {
- struct breakpoint *bp;
- /* bp->address == breakpoint value register
- * control == breakpoint control register
- */
+struct dpm_bpwp {
+ unsigned number;
+ uint32_t address;
uint32_t control;
/* true if hardware state needs flushing */
bool dirty;
};
+struct dpm_bp {
+ struct breakpoint *bp;
+ struct dpm_bpwp bpwp;
+};
+
struct dpm_wp {
struct watchpoint *wp;
- /* wp->address == watchpoint value register
- * control == watchpoint control register
- */
- uint32_t control;
- /* true if hardware state needs flushing */
- bool dirty;
+ struct dpm_bpwp bpwp;
};
/**