]> git.hungrycats.org Git - linux/commitdiff
[ARM] Fix late abort handler for Thumb code.
authorRussell King <rmk@flint.arm.linux.org.uk>
Sun, 22 Feb 2004 23:40:31 +0000 (23:40 +0000)
committerRussell King <rmk@flint.arm.linux.org.uk>
Sun, 22 Feb 2004 23:40:31 +0000 (23:40 +0000)
ARM720T processors use the "late" abort option, which means we have to
correct the base address of any page fault ourselves.  However, we
were mis-correcting the thumb "push" instruction, causing the retried
instruction to fail in a spectacular way.

arch/arm/mm/abort-lv4t.S

index 4d808ce2ad898c3f82b802375d91561766e52986..a88596de337db74135af1edd202677f74ebdb02e 100644 (file)
@@ -220,6 +220,6 @@ ENTRY(v4t_late_abort)
        and     r6, r6, #15                     @ number of regs to transfer
        and     r5, r8, #7 << 8
        ldr     r7, [sp, r5, lsr #6]
-       sub     r7, r7, r6, lsr #2              @ always decrement
+       sub     r7, r7, r6, lsl #2              @ always decrement
        str     r7, [sp, r5, lsr #6]
        mov     pc, lr