target: create/use register_cache_invalidate()

Create a generic register_cache_invalidate(), and use it to
replace three all-but-identical core-specific routines:

 - armv4_5_invalidate_core_regs()
 - armv7m_invalidate_core_regs
 - mips32_invalidate_core_regs() too.

Make cache->num_regs be unsigned, avoiding various errors.

Net code shrink and simplification.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
This commit is contained in:
David Brownell
2009-11-19 19:02:10 -08:00
parent 31fb7788a6
commit 71cde5e359
14 changed files with 47 additions and 77 deletions

View File

@@ -545,7 +545,7 @@ static int cortex_a8_resume(struct target *target, int current,
target->state = TARGET_RUNNING;
/* registers are now invalid */
armv4_5_invalidate_core_regs(target);
register_cache_invalidate(armv4_5->core_cache);
if (!debug_execution)
{
@@ -1182,11 +1182,12 @@ static int cortex_a8_remove_breakpoint(struct target *target, struct breakpoint
static int cortex_a8_assert_reset(struct target *target)
{
struct armv7a_common *armv7a = target_to_armv7a(target);
LOG_DEBUG(" ");
/* registers are now invalid */
armv4_5_invalidate_core_regs(target);
register_cache_invalidate(armv7a->armv4_5_common.core_cache);
target->state = TARGET_RESET;