xscale: always reload handler after reset
commit2a8aa3b7efb590cabd7ee930dbb68fd64e028099
authorDavid Brownell <dbrownell@users.sourceforge.net>
Sun, 25 Oct 2009 20:06:47 +0000 (25 13:06 -0700)
committerDavid Brownell <dbrownell@users.sourceforge.net>
Sun, 25 Oct 2009 20:06:47 +0000 (25 13:06 -0700)
treee345f77f89b8e9086f2053acf4a458ba3324df32
parent0b436497e047a13ff3dbae46af0eb67376ea5acf
xscale: always reload handler after reset

Remove needless debug handler state.

 - "handler_installed" became wrong as soon as the second TRST+SRST
   reset was issued ... so the handler was never reloaded after the
   reset removed it from the mini-icache.

   This fixes the bug where subsequent resets fail on PXA255 (if the
   first one even worked, which is uncommon).  Other XScale chips
   would have problems too; PXA270 seems to have, IXP425 maybe not.

 - "handler_running" was never tested; it's pointless.

Plus a related bugfix: invalidate OpenOCD's ARM register cache on reset.
It was no more valid than the XScale's mini-icache.  (Though ... such
invalidations might be better done in "SRST asserted" callbacks.)

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
src/target/xscale.c
src/target/xscale.h