ARM: keep a handle to the PC
commit1aac72d24339380f6e98c50dec4c96ab30537749
authorDavid Brownell <dbrownell@users.sourceforge.net>
Sun, 21 Feb 2010 22:34:33 +0000 (21 14:34 -0800)
committerDavid Brownell <dbrownell@users.sourceforge.net>
Sun, 21 Feb 2010 22:34:33 +0000 (21 14:34 -0800)
treeefd8b83082f072d807f168eabf415e1002cf5425
parenta299371a9ec109da3851cb43aed3e9157d095358
ARM: keep a handle to the PC

Keep a handle to the PC in "struct arm", and use it.
This register is used a fair amount, so this is a net
minor code shrink (other than some line length fixes),
but mostly it's to make things more readable.

For XScale, fix a dodgy sequence while stepping.  It
was initializing a variable to a non-NULL value, then
updating it to handle the step-over-active-breakpoint
case, and then later testing for non-NULL to see if
it should reverse that step-over-active logic.  It
should have done like ARM7/ARM9 does: init to NULL.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
16 files changed:
src/target/arm.h
src/target/arm11.c
src/target/arm720t.c
src/target/arm7_9_common.c
src/target/arm7tdmi.c
src/target/arm920t.c
src/target/arm926ejs.c
src/target/arm9tdmi.c
src/target/arm_dpm.c
src/target/arm_semihosting.c
src/target/armv4_5.c
src/target/armv7m.c
src/target/cortex_a8.c
src/target/cortex_m3.c
src/target/feroceon.c
src/target/xscale.c