Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 108f6af0 authored by Russell King's avatar Russell King
Browse files

ARM: entry: data abort: always use r6 for offset

parent e22c12f9
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -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

+3 −3
Original line number Diff line number Diff line
@@ -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