- int retval;
- target_t *target = get_current_target(cmd_ctx);
- struct arm720t_common *arm720t = target_to_arm720(target);
- struct arm_jtag *jtag_info;
-
- retval = arm720t_verify_pointer(cmd_ctx, arm720t);
- if (retval != ERROR_OK)
- return retval;
-
- jtag_info = &arm720t->arm7tdmi_common.arm7_9_common.jtag_info;
-
- if (target->state != TARGET_HALTED)
- {
- command_print(cmd_ctx, "target must be stopped for \"%s\" command", CMD_NAME);
- return ERROR_OK;
- }
-
- /* one or more argument, access a single register (write if second argument is given */
- if (argc >= 1)
- {
- uint32_t opcode;
- COMMAND_PARSE_NUMBER(u32, args[0], opcode);
-
- if (argc == 1)
- {
- uint32_t value;
- if ((retval = arm720t_read_cp15(target, opcode, &value)) != ERROR_OK)
- {
- command_print(cmd_ctx, "couldn't access cp15 with opcode 0x%8.8" PRIx32 "", opcode);
- return ERROR_OK;
- }
-
- if ((retval = jtag_execute_queue()) != ERROR_OK)
- {
- return retval;
- }
-
- command_print(cmd_ctx, "0x%8.8" PRIx32 ": 0x%8.8" PRIx32 "", opcode, value);
- }
- else if (argc == 2)
- {
- uint32_t value;
- COMMAND_PARSE_NUMBER(u32, args[1], value);
-
- if ((retval = arm720t_write_cp15(target, opcode, value)) != ERROR_OK)
- {
- command_print(cmd_ctx, "couldn't access cp15 with opcode 0x%8.8" PRIx32 "", opcode);
- return ERROR_OK;
- }
- command_print(cmd_ctx, "0x%8.8" PRIx32 ": 0x%8.8" PRIx32 "", opcode, value);
- }
- }
-
- return ERROR_OK;
-}
-
-static int arm720t_mrc(target_t *target, int cpnum, uint32_t op1, uint32_t op2, uint32_t CRn, uint32_t CRm, uint32_t *value)
-{
- if (cpnum!=15)
- {