Mercurial > flash_v2
changeset 414:79eaf7aa963c
ARM stub tweak
| author | msalter |
|---|---|
| date | Tue, 12 Nov 2002 21:45:47 +0000 |
| parents | fa01fd7f52e2 |
| children | 4cbd7d39399a |
| files | packages/hal/arm/arch/current/ChangeLog packages/hal/arm/arch/current/src/arm_stub.c |
| diffstat | 2 files changed, 6 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/packages/hal/arm/arch/current/ChangeLog +++ b/packages/hal/arm/arch/current/ChangeLog @@ -1,3 +1,8 @@ +2002-11-12 Mark Salter <msalter@redhat.com> + + * src/arm_stub.c (target_ins): Account for PC prefetch when PC is + source register in data processing insns. + 2002-08-29 Mark Salter <msalter@redhat.com> * src/vectors.S: Avoid entering thumb mode in exception handlers.
--- a/packages/hal/arm/arch/current/src/arm_stub.c +++ b/packages/hal/arm/arch/current/src/arm_stub.c @@ -380,6 +380,7 @@ target_ins(unsigned long *pc, unsigned l // Destination register is PC if ((ins & 0x0FBF0000) != 0x010F0000) { Rn = (unsigned long)get_register((ins & 0x000F0000) >> 16); ++ if ((ins & 0x000F0000) == 0x000F0000) Rn += 8; // PC prefetch! if ((ins & 0x02000000) == 0) { op2 = RmShifted(ins & 0x00000FFF); } else {
