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>
This commit is contained in:
+13
-2
@@ -624,10 +624,23 @@ int arm920t_soft_reset_halt(struct target *target)
|
||||
return ERROR_OK;
|
||||
}
|
||||
|
||||
/* FIXME remove forward decls */
|
||||
static int arm920t_mrc(struct target *target, int cpnum,
|
||||
uint32_t op1, uint32_t op2,
|
||||
uint32_t CRn, uint32_t CRm,
|
||||
uint32_t *value);
|
||||
static int arm920t_mcr(struct target *target, int cpnum,
|
||||
uint32_t op1, uint32_t op2,
|
||||
uint32_t CRn, uint32_t CRm,
|
||||
uint32_t value);
|
||||
|
||||
int arm920t_init_arch_info(struct target *target, struct arm920t_common *arm920t, struct jtag_tap *tap)
|
||||
{
|
||||
struct arm7_9_common *arm7_9 = &arm920t->arm7_9_common;
|
||||
|
||||
arm7_9->armv4_5_common.mrc = arm920t_mrc;
|
||||
arm7_9->armv4_5_common.mcr = arm920t_mcr;
|
||||
|
||||
/* initialize arm7/arm9 specific info (including armv4_5) */
|
||||
arm9tdmi_init_arch_info(target, arm7_9, tap);
|
||||
|
||||
@@ -1452,6 +1465,4 @@ struct target_type arm920t_target =
|
||||
.target_create = arm920t_target_create,
|
||||
.init_target = arm9tdmi_init_target,
|
||||
.examine = arm7_9_examine,
|
||||
.mrc = arm920t_mrc,
|
||||
.mcr = arm920t_mcr,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user