summaryrefslogtreecommitdiff
path: root/src/target/arm720t.c
diff options
context:
space:
mode:
authorDavid Brownell <dbrownell@users.sourceforge.net>2009-12-01 00:48:53 -0800
committerDavid Brownell <dbrownell@users.sourceforge.net>2009-12-01 00:48:53 -0800
commit177bbd8891ae737ea7f8c0791a6236f72cedee40 (patch)
treeceeef8ae2d729eb5c3d539249f13f019fa300d7c /src/target/arm720t.c
parent209a0197f0c79442a2314199170a957c36c0ddb6 (diff)
downloadopenocd+libswd-177bbd8891ae737ea7f8c0791a6236f72cedee40.tar.gz
openocd+libswd-177bbd8891ae737ea7f8c0791a6236f72cedee40.tar.bz2
openocd+libswd-177bbd8891ae737ea7f8c0791a6236f72cedee40.tar.xz
openocd+libswd-177bbd8891ae737ea7f8c0791a6236f72cedee40.zip
target: "mcr" and "mrc" are ARM-specific
Switch "mrc" and "mcr" commands to be toplevel ARM operations, as they should initially have been. Correct the usage message for both commands: it matches ARM documentation (as one wants!) instead of reordering them to match the funky mrc() and mcr() method usage (sigh). For Cortex-A8: restore a line that got accidentally dropped, so the secure monitor mode shadow registers will show again. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
Diffstat (limited to 'src/target/arm720t.c')
-rw-r--r--src/target/arm720t.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/target/arm720t.c b/src/target/arm720t.c
index bae2561a..d900d8ae 100644
--- a/src/target/arm720t.c
+++ b/src/target/arm720t.c
@@ -378,11 +378,24 @@ static int arm720t_init_target(struct command_context *cmd_ctx, struct target *t
return arm7tdmi_init_target(cmd_ctx, target);
}
+/* FIXME remove forward decls */
+static int arm720t_mrc(struct target *target, int cpnum,
+ uint32_t op1, uint32_t op2,
+ uint32_t CRn, uint32_t CRm,
+ uint32_t *value);
+static int arm720t_mcr(struct target *target, int cpnum,
+ uint32_t op1, uint32_t op2,
+ uint32_t CRn, uint32_t CRm,
+ uint32_t value);
+
static int arm720t_init_arch_info(struct target *target,
struct arm720t_common *arm720t, struct jtag_tap *tap)
{
struct arm7_9_common *arm7_9 = &arm720t->arm7_9_common;
+ arm7_9->armv4_5_common.mrc = arm720t_mrc;
+ arm7_9->armv4_5_common.mcr = arm720t_mcr;
+
arm7tdmi_init_arch_info(target, arm7_9, tap);
arm720t->common_magic = ARM720T_COMMON_MAGIC;
@@ -556,6 +569,4 @@ struct target_type arm720t_target =
.target_create = arm720t_target_create,
.init_target = arm720t_init_target,
.examine = arm7_9_examine,
- .mrc = arm720t_mrc,
- .mcr = arm720t_mcr,
};