ARMv7a/Cortex-A8: report watchpoint trigger insn

Save and display the address of the instruction which triggered the
watchpoint.  Because of pipelining, that's well behind the PC value
when debug entry completes.  (Example in a subroutine that had been
returned from...)

Remove unused A8 stuff, mostly watchpoint hooks from the header.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
This commit is contained in:
David Brownell
2009-12-02 11:31:32 -08:00
parent 03c103d56a
commit 55eeea7fce
5 changed files with 33 additions and 44 deletions

View File

@@ -736,6 +736,23 @@ static int dpm_remove_watchpoint(struct target *target, struct watchpoint *wp)
return retval;
}
void arm_dpm_report_wfar(struct arm_dpm *dpm, uint32_t addr)
{
switch (dpm->arm->core_state) {
case ARMV4_5_STATE_ARM:
addr -= 8;
break;
case ARMV4_5_STATE_THUMB:
case ARM_STATE_THUMB_EE:
addr -= 4;
break;
case ARMV4_5_STATE_JAZELLE:
/* ?? */
break;
}
dpm->wp_pc = addr;
}
/*----------------------------------------------------------------------*/
/*