summaryrefslogtreecommitdiff
path: root/src/target/arm11_dbgtap.c
diff options
context:
space:
mode:
authorDavid Brownell <dbrownell@users.sourceforge.net>2009-12-02 22:57:07 -0800
committerDavid Brownell <dbrownell@users.sourceforge.net>2009-12-02 23:08:42 -0800
commitc2af99d4717837761b6df750e1fe75797c910b23 (patch)
treedcf33581014c399865334358a1e1f424a5d0d37a /src/target/arm11_dbgtap.c
parentb123fd3cd9a11b2dfb79025fb137696135f5f898 (diff)
downloadopenocd+libswd-c2af99d4717837761b6df750e1fe75797c910b23.tar.gz
openocd+libswd-c2af99d4717837761b6df750e1fe75797c910b23.tar.bz2
openocd+libswd-c2af99d4717837761b6df750e1fe75797c910b23.tar.xz
openocd+libswd-c2af99d4717837761b6df750e1fe75797c910b23.zip
ARM DPM: tweak initialization
Move the initial breakpoint/watchpoint disable calls to arm_dpm_initialize(), and start using that routine. This split helps with arm11 support.
Diffstat (limited to 'src/target/arm11_dbgtap.c')
-rw-r--r--src/target/arm11_dbgtap.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/target/arm11_dbgtap.c b/src/target/arm11_dbgtap.c
index cfcb5bfa..6ce308e5 100644
--- a/src/target/arm11_dbgtap.c
+++ b/src/target/arm11_dbgtap.c
@@ -1022,10 +1022,11 @@ static int arm11_dpm_instr_read_data_r0(struct arm_dpm *dpm,
opcode, data);
}
-
-void arm11_dpm_init(struct arm11_common *arm11, uint32_t didr)
+/** Set up high-level debug module utilities */
+int arm11_dpm_init(struct arm11_common *arm11, uint32_t didr)
{
struct arm_dpm *dpm = &arm11->dpm;
+ int retval;
dpm->arm = &arm11->arm;
@@ -1039,4 +1040,12 @@ void arm11_dpm_init(struct arm11_common *arm11, uint32_t didr)
dpm->instr_read_data_dcc = arm11_dpm_instr_read_data_dcc;
dpm->instr_read_data_r0 = arm11_dpm_instr_read_data_r0;
+
+ retval = arm_dpm_setup(dpm);
+ if (retval != ERROR_OK)
+ return retval;
+
+ retval = arm_dpm_initialize(dpm);
+
+ return retval;
}