ARM11: remove previous mcr()/mrc() methods

We don't need this code, now that the DPM code handles it.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
This commit is contained in:
David Brownell 2009-12-01 00:49:16 -08:00
parent 5949a3b3a5
commit 63dc352876
1 changed files with 0 additions and 75 deletions

View File

@ -1219,13 +1219,6 @@ static int arm11_remove_watchpoint(struct target *target,
return ERROR_FAIL; return ERROR_FAIL;
} }
static int arm11_mrc(struct target *target, int cpnum,
uint32_t op1, uint32_t op2,
uint32_t CRn, uint32_t CRm, uint32_t *value);
static int arm11_mcr(struct target *target, int cpnum,
uint32_t op1, uint32_t op2, uint32_t CRn,
uint32_t CRm, uint32_t value);
static int arm11_target_create(struct target *target, Jim_Interp *interp) static int arm11_target_create(struct target *target, Jim_Interp *interp)
{ {
struct arm11_common *arm11; struct arm11_common *arm11;
@ -1245,9 +1238,6 @@ static int arm11_target_create(struct target *target, Jim_Interp *interp)
armv4_5_init_arch_info(target, &arm11->arm); armv4_5_init_arch_info(target, &arm11->arm);
arm11->arm.mrc = arm11_mrc;
arm11->arm.mcr = arm11_mcr;
arm11->target = target; arm11->target = target;
arm11->jtag_info.tap = target->tap; arm11->jtag_info.tap = target->tap;
@ -1520,71 +1510,6 @@ COMMAND_HANDLER(arm11_handle_vcr)
return ERROR_OK; return ERROR_OK;
} }
static const uint32_t arm11_coproc_instruction_limits[] =
{
15, /* coprocessor */
7, /* opcode 1 */
15, /* CRn */
15, /* CRm */
7, /* opcode 2 */
0xFFFFFFFF, /* value */
};
static int arm11_mrc_inner(struct target *target, int cpnum,
uint32_t op1, uint32_t op2, uint32_t CRn, uint32_t CRm,
uint32_t *value, bool read)
{
int retval;
struct arm11_common *arm11 = target_to_arm11(target);
if (target->state != TARGET_HALTED)
{
LOG_ERROR("Target not halted");
return ERROR_FAIL;
}
uint32_t instr = 0xEE000010 |
(cpnum << 8) |
(op1 << 21) |
(CRn << 16) |
(CRm << 0) |
(op2 << 5);
if (read)
instr |= 0x00100000;
retval = arm11_run_instr_data_prepare(arm11);
if (retval != ERROR_OK)
return retval;
if (read)
{
retval = arm11_run_instr_data_from_core_via_r0(arm11, instr, value);
if (retval != ERROR_OK)
return retval;
}
else
{
retval = arm11_run_instr_data_to_core_via_r0(arm11, instr, *value);
if (retval != ERROR_OK)
return retval;
}
return arm11_run_instr_data_finish(arm11);
}
static int arm11_mrc(struct target *target, int cpnum,
uint32_t op1, uint32_t op2, uint32_t CRn, uint32_t CRm, uint32_t *value)
{
return arm11_mrc_inner(target, cpnum, op1, op2, CRn, CRm, value, true);
}
static int arm11_mcr(struct target *target, int cpnum,
uint32_t op1, uint32_t op2, uint32_t CRn, uint32_t CRm, uint32_t value)
{
return arm11_mrc_inner(target, cpnum, op1, op2, CRn, CRm, &value, false);
}
static const struct command_registration arm11_mw_command_handlers[] = { static const struct command_registration arm11_mw_command_handlers[] = {
{ {
.name = "burst", .name = "burst",