arm: add missing error reporting
when an unknown core mode is read from the target, report error. Can be communication failure. Signed-off-by: Øyvind Harboe <oyvind.harboe@zylin.com>
This commit is contained in:
parent
ba951aede3
commit
f941192723
|
@ -2,7 +2,7 @@
|
|||
* Copyright (C) 2005 by Dominic Rath *
|
||||
* Dominic.Rath@gmx.de *
|
||||
* *
|
||||
* Copyright (C) 2007-2009 Øyvind Harboe *
|
||||
* Copyright (C) 2007-2010 Øyvind Harboe *
|
||||
* oyvind.harboe@zylin.com *
|
||||
* *
|
||||
* Copyright (C) 2008 by Spencer Oliver *
|
||||
|
@ -1518,7 +1518,10 @@ static int arm7_9_full_context(struct target *target)
|
|||
}
|
||||
|
||||
if (!is_arm_mode(armv4_5->core_mode))
|
||||
{
|
||||
LOG_ERROR("not a valid arm core mode - communication failure?");
|
||||
return ERROR_FAIL;
|
||||
}
|
||||
|
||||
/* iterate through processor modes (User, FIQ, IRQ, SVC, ABT, UND)
|
||||
* SYS shares registers with User, so we don't touch SYS
|
||||
|
@ -1621,7 +1624,10 @@ static int arm7_9_restore_context(struct target *target)
|
|||
arm7_9->pre_restore_context(target);
|
||||
|
||||
if (!is_arm_mode(armv4_5->core_mode))
|
||||
{
|
||||
LOG_ERROR("not a valid arm core mode - communication failure?");
|
||||
return ERROR_FAIL;
|
||||
}
|
||||
|
||||
/* iterate through processor modes (User, FIQ, IRQ, SVC, ABT, UND)
|
||||
* SYS shares registers with User, so we don't touch SYS
|
||||
|
|
|
@ -281,7 +281,10 @@ static int arm920t_read_cp15_interpreted(struct target *target,
|
|||
#endif
|
||||
|
||||
if (!is_arm_mode(armv4_5->core_mode))
|
||||
{
|
||||
LOG_ERROR("not a valid arm core mode - communication failure?");
|
||||
return ERROR_FAIL;
|
||||
}
|
||||
|
||||
r[0].dirty = 1;
|
||||
r[1].dirty = 1;
|
||||
|
@ -323,7 +326,10 @@ int arm920t_write_cp15_interpreted(struct target *target,
|
|||
#endif
|
||||
|
||||
if (!is_arm_mode(armv4_5->core_mode))
|
||||
{
|
||||
LOG_ERROR("not a valid arm core mode - communication failure?");
|
||||
return ERROR_FAIL;
|
||||
}
|
||||
|
||||
r[0].dirty = 1;
|
||||
r[1].dirty = 1;
|
||||
|
@ -1154,7 +1160,10 @@ COMMAND_HANDLER(arm920t_handle_read_cache_command)
|
|||
fclose(output);
|
||||
|
||||
if (!is_arm_mode(armv4_5->core_mode))
|
||||
{
|
||||
LOG_ERROR("not a valid arm core mode - communication failure?");
|
||||
return ERROR_FAIL;
|
||||
}
|
||||
|
||||
/* force writeback of the valid data */
|
||||
r = armv4_5->core_cache->reg_list;
|
||||
|
@ -1481,7 +1490,10 @@ COMMAND_HANDLER(arm920t_handle_read_mmu_command)
|
|||
fclose(output);
|
||||
|
||||
if (!is_arm_mode(armv4_5->core_mode))
|
||||
{
|
||||
LOG_ERROR("not a valid arm core mode - communication failure?");
|
||||
return ERROR_FAIL;
|
||||
}
|
||||
|
||||
/* force writeback of the valid data */
|
||||
r = armv4_5->core_cache->reg_list;
|
||||
|
|
|
@ -634,7 +634,10 @@ COMMAND_HANDLER(handle_armv4_5_reg_command)
|
|||
}
|
||||
|
||||
if (!is_arm_mode(armv4_5->core_mode))
|
||||
{
|
||||
LOG_ERROR("not a valid arm core mode - communication failure?");
|
||||
return ERROR_FAIL;
|
||||
}
|
||||
|
||||
if (!armv4_5->full_context) {
|
||||
command_print(CMD_CTX, "error: target doesn't support %s",
|
||||
|
@ -1046,7 +1049,10 @@ int arm_get_gdb_reg_list(struct target *target,
|
|||
int i;
|
||||
|
||||
if (!is_arm_mode(armv4_5->core_mode))
|
||||
{
|
||||
LOG_ERROR("not a valid arm core mode - communication failure?");
|
||||
return ERROR_FAIL;
|
||||
}
|
||||
|
||||
*reg_list_size = 26;
|
||||
*reg_list = malloc(sizeof(struct reg*) * (*reg_list_size));
|
||||
|
@ -1127,7 +1133,10 @@ int armv4_5_run_algorithm_inner(struct target *target,
|
|||
}
|
||||
|
||||
if (!is_arm_mode(armv4_5->core_mode))
|
||||
{
|
||||
LOG_ERROR("not a valid arm core mode - communication failure?");
|
||||
return ERROR_FAIL;
|
||||
}
|
||||
|
||||
/* armv5 and later can terminate with BKPT instruction; less overhead */
|
||||
if (!exit_point && armv4_5->is_armv4)
|
||||
|
|
Loading…
Reference in New Issue