ARM: don't clone arm_arch_state() code

Have various ARM cores delegate to arm_arch_state() to display
basic information, instead of duplicating that logic.

This shrinks the code, makes them all report when semihosting
is active, and highlights which data are specific to this core.
(Like ARM720 not having separate instruction and data caches.)

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
This commit is contained in:
David Brownell 2009-12-07 14:55:08 -08:00
parent 927ae6899d
commit 19ad7f828b
4 changed files with 8 additions and 33 deletions

View File

@ -235,14 +235,8 @@ static int arm720t_arch_state(struct target *target)
armv4_5 = &arm720t->arm7_9_common.armv4_5_common; armv4_5 = &arm720t->arm7_9_common.armv4_5_common;
LOG_USER("target halted in %s state due to %s, current mode: %s\n" arm_arch_state(target);
"cpsr: 0x%8.8" PRIx32 " pc: 0x%8.8" PRIx32 "\n" LOG_USER("MMU: %s, Cache: %s",
"MMU: %s, Cache: %s",
arm_state_strings[armv4_5->core_state],
Jim_Nvp_value2name_simple(nvp_target_debug_reason, target->debug_reason)->name ,
arm_mode_name(armv4_5->core_mode),
buf_get_u32(armv4_5->cpsr->value, 0, 32),
buf_get_u32(armv4_5->core_cache->reg_list[15].value, 0, 32),
state[arm720t->armv4_5_mmu.mmu_enabled], state[arm720t->armv4_5_mmu.mmu_enabled],
state[arm720t->armv4_5_mmu.armv4_5_cache.d_u_cache_enabled]); state[arm720t->armv4_5_mmu.armv4_5_cache.d_u_cache_enabled]);

View File

@ -449,14 +449,8 @@ int arm920t_arch_state(struct target *target)
armv4_5 = &arm920t->arm7_9_common.armv4_5_common; armv4_5 = &arm920t->arm7_9_common.armv4_5_common;
LOG_USER("target halted in %s state due to %s, current mode: %s\n" arm_arch_state(target);
"cpsr: 0x%8.8" PRIx32 " pc: 0x%8.8" PRIx32 "\n" LOG_USER("MMU: %s, D-Cache: %s, I-Cache: %s",
"MMU: %s, D-Cache: %s, I-Cache: %s",
arm_state_strings[armv4_5->core_state],
Jim_Nvp_value2name_simple(nvp_target_debug_reason, target->debug_reason)->name,
arm_mode_name(armv4_5->core_mode),
buf_get_u32(armv4_5->cpsr->value, 0, 32),
buf_get_u32(armv4_5->core_cache->reg_list[15].value, 0, 32),
state[arm920t->armv4_5_mmu.mmu_enabled], state[arm920t->armv4_5_mmu.mmu_enabled],
state[arm920t->armv4_5_mmu.armv4_5_cache.d_u_cache_enabled], state[arm920t->armv4_5_mmu.armv4_5_cache.d_u_cache_enabled],
state[arm920t->armv4_5_mmu.armv4_5_cache.i_cache_enabled]); state[arm920t->armv4_5_mmu.armv4_5_cache.i_cache_enabled]);

View File

@ -505,14 +505,8 @@ int arm926ejs_arch_state(struct target *target)
armv4_5 = &arm926ejs->arm7_9_common.armv4_5_common; armv4_5 = &arm926ejs->arm7_9_common.armv4_5_common;
LOG_USER("target halted in %s state due to %s, current mode: %s\n" arm_arch_state(target);
"cpsr: 0x%8.8" PRIx32 " pc: 0x%8.8" PRIx32 "\n" LOG_USER("MMU: %s, D-Cache: %s, I-Cache: %s",
"MMU: %s, D-Cache: %s, I-Cache: %s",
arm_state_strings[armv4_5->core_state],
Jim_Nvp_value2name_simple(nvp_target_debug_reason,target->debug_reason)->name,
arm_mode_name(armv4_5->core_mode),
buf_get_u32(armv4_5->cpsr->value, 0, 32),
buf_get_u32(armv4_5->core_cache->reg_list[15].value, 0, 32),
state[arm926ejs->armv4_5_mmu.mmu_enabled], state[arm926ejs->armv4_5_mmu.mmu_enabled],
state[arm926ejs->armv4_5_mmu.armv4_5_cache.d_u_cache_enabled], state[arm926ejs->armv4_5_mmu.armv4_5_cache.d_u_cache_enabled],
state[arm926ejs->armv4_5_mmu.armv4_5_cache.i_cache_enabled]); state[arm926ejs->armv4_5_mmu.armv4_5_cache.i_cache_enabled]);

View File

@ -865,15 +865,8 @@ static int xscale_arch_state(struct target *target)
return ERROR_INVALID_ARGUMENTS; return ERROR_INVALID_ARGUMENTS;
} }
LOG_USER("target halted in %s state due to %s, current mode: %s\n" arm_arch_state(target);
"cpsr: 0x%8.8" PRIx32 " pc: 0x%8.8" PRIx32 "\n" LOG_USER("MMU: %s, D-Cache: %s, I-Cache: %s%s",
"MMU: %s, D-Cache: %s, I-Cache: %s"
"%s",
arm_state_strings[armv4_5->core_state],
Jim_Nvp_value2name_simple(nvp_target_debug_reason, target->debug_reason)->name ,
arm_mode_name(armv4_5->core_mode),
buf_get_u32(armv4_5->cpsr->value, 0, 32),
buf_get_u32(armv4_5->core_cache->reg_list[15].value, 0, 32),
state[xscale->armv4_5_mmu.mmu_enabled], state[xscale->armv4_5_mmu.mmu_enabled],
state[xscale->armv4_5_mmu.armv4_5_cache.d_u_cache_enabled], state[xscale->armv4_5_mmu.armv4_5_cache.d_u_cache_enabled],
state[xscale->armv4_5_mmu.armv4_5_cache.i_cache_enabled], state[xscale->armv4_5_mmu.armv4_5_cache.i_cache_enabled],