ARM: entry: data abort: always use r6 for offset
authorRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 27 Jun 2011 11:23:11 +0000 (12:23 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sat, 2 Jul 2011 09:56:12 +0000 (10:56 +0100)
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mm/abort-lv4t.S
arch/arm/mm/proc-arm6_7.S

index 921aaab0c8c5c4f923835a7f6a1117caef33c647..54b6d279371ab7f06436480c0b5df8b0add6f6ad 100644 (file)
@@ -102,13 +102,13 @@ ENTRY(v4t_late_abort)
        tst     r8, #1 << 21                    @ check writeback bit
        beq     do_DataAbort                    @ no writeback -> no fixup
 .data_arm_lateldrpostconst:
-       movs    r9, r8, lsl #20                 @ Get offset
+       movs    r6, r8, lsl #20                 @ Get offset
        beq     do_DataAbort                    @ zero -> no fixup
        and     r5, r8, #15 << 16               @ Extract 'n' from instruction
        ldr     r7, [r2, r5, lsr #14]           @ Get register 'Rn'
        tst     r8, #1 << 23                    @ Check U bit
-       subne   r7, r7, r9, lsr #20             @ Undo increment
-       addeq   r7, r7, r9, lsr #20             @ Undo decrement
+       subne   r7, r7, r6, lsr #20             @ Undo increment
+       addeq   r7, r7, r6, lsr #20             @ Undo decrement
        str     r7, [r2, r5, lsr #14]           @ Put register 'Rn'
        b       do_DataAbort
 
index 141906eae26057b10e145c07ef194438dec71e51..4d963114c66b3e0d4b087fe94a6417f44c43c15b 100644 (file)
@@ -116,13 +116,13 @@ ENTRY(cpu_arm6_data_abort)
        tst     r8, #1 << 21                    @ check writeback bit
        beq     do_DataAbort                    @ no writeback -> no fixup
 .data_arm_lateldrpostconst:
-       movs    r9, r8, lsl #20                 @ Get offset
+       movs    r6, r8, lsl #20                 @ Get offset
        beq     do_DataAbort                    @ zero -> no fixup
        and     r5, r8, #15 << 16               @ Extract 'n' from instruction
        ldr     r7, [r2, r5, lsr #14]           @ Get register 'Rn'
        tst     r8, #1 << 23                    @ Check U bit
-       subne   r7, r7, r9, lsr #20             @ Undo increment
-       addeq   r7, r7, r9, lsr #20             @ Undo decrement
+       subne   r7, r7, r6, lsr #20             @ Undo increment
+       addeq   r7, r7, r6, lsr #20             @ Undo decrement
        str     r7, [r2, r5, lsr #14]           @ Put register 'Rn'
        b       do_DataAbort