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

Commit 73f0f7c7 authored by Nicolas Pitre's avatar Nicolas Pitre Committed by Russell King
Browse files

[ARM] 3094/1: remove PLD stuff from old uaccess code



Patch from Nicolas Pitre

ARM processors that have pld instructions are not using those copy_user
implementation anymore.  Let's remove the useless PLD lines which were
half wrong anyway.

Signed-off-by: default avatarNicolas Pitre <nico@cam.org>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 8b5f4f06
Loading
Loading
Loading
Loading
+16 −116
Original line number Original line Diff line number Diff line
@@ -43,8 +43,6 @@ ENTRY(__arch_copy_to_user)
		stmfd	sp!, {r2, r4 - r7, lr}
		stmfd	sp!, {r2, r4 - r7, lr}
		cmp	r2, #4
		cmp	r2, #4
		blt	.c2u_not_enough
		blt	.c2u_not_enough
	PLD(	pld	[r1, #0]		)
	PLD(	pld	[r0, #0]		)
		ands	ip, r0, #3
		ands	ip, r0, #3
		bne	.c2u_dest_not_aligned
		bne	.c2u_dest_not_aligned
.c2u_dest_aligned:
.c2u_dest_aligned:
@@ -73,25 +71,13 @@ USER( strt r3, [r0], #4) @ May fault
		sub	r2, r2, ip
		sub	r2, r2, ip
		subs	ip, ip, #32
		subs	ip, ip, #32
		blt	.c2u_0rem8lp
		blt	.c2u_0rem8lp
	PLD(	pld	[r1, #28]		)

	PLD(	pld	[r0, #28]		)
.c2u_0cpy8lp:	ldmia	r1!, {r3 - r6}
	PLD(	subs	ip, ip, #64			)
	PLD(	blt	.c2u_0cpynopld		)
	PLD(	pld	[r1, #60]		)
	PLD(	pld	[r0, #60]		)

.c2u_0cpy8lp:
	PLD(	pld	[r1, #92]		)
	PLD(	pld	[r0, #92]		)
.c2u_0cpynopld:	ldmia	r1!, {r3 - r6}
		stmia	r0!, {r3 - r6}			@ Shouldnt fault
		stmia	r0!, {r3 - r6}			@ Shouldnt fault
		ldmia	r1!, {r3 - r6}
		ldmia	r1!, {r3 - r6}
		subs	ip, ip, #32
		subs	ip, ip, #32
		stmia	r0!, {r3 - r6}			@ Shouldnt fault
		stmia	r0!, {r3 - r6}			@ Shouldnt fault
		bpl	.c2u_0cpy8lp
		bpl	.c2u_0cpy8lp
	PLD(	cmn	ip, #64			)
	PLD(	bge	.c2u_0cpynopld		)
	PLD(	add	ip, ip, #64		)


.c2u_0rem8lp:	cmn	ip, #16
.c2u_0rem8lp:	cmn	ip, #16
		ldmgeia	r1!, {r3 - r6}
		ldmgeia	r1!, {r3 - r6}
@@ -143,17 +129,8 @@ USER( strt r3, [r0], #4) @ May fault
		sub	r2, r2, ip
		sub	r2, r2, ip
		subs	ip, ip, #16
		subs	ip, ip, #16
		blt	.c2u_1rem8lp
		blt	.c2u_1rem8lp
	PLD(	pld	[r1, #12]		)

	PLD(	pld	[r0, #12]		)
.c2u_1cpy8lp:	mov	r3, r7, pull #8
	PLD(	subs	ip, ip, #32		)
	PLD(	blt	.c2u_1cpynopld		)
	PLD(	pld	[r1, #28]		)
	PLD(	pld	[r0, #28]		)

.c2u_1cpy8lp:
	PLD(	pld	[r1, #44]		)
	PLD(	pld	[r0, #44]		)
.c2u_1cpynopld:	mov	r3, r7, pull #8
		ldmia	r1!, {r4 - r7}
		ldmia	r1!, {r4 - r7}
		subs	ip, ip, #16
		subs	ip, ip, #16
		orr	r3, r3, r4, push #24
		orr	r3, r3, r4, push #24
@@ -165,9 +142,6 @@ USER( strt r3, [r0], #4) @ May fault
		orr	r6, r6, r7, push #24
		orr	r6, r6, r7, push #24
		stmia	r0!, {r3 - r6}			@ Shouldnt fault
		stmia	r0!, {r3 - r6}			@ Shouldnt fault
		bpl	.c2u_1cpy8lp
		bpl	.c2u_1cpy8lp
	PLD(	cmn	ip, #32			)
	PLD(	bge	.c2u_1cpynopld		)
	PLD(	add	ip, ip, #32		)


.c2u_1rem8lp:	tst	ip, #8
.c2u_1rem8lp:	tst	ip, #8
		movne	r3, r7, pull #8
		movne	r3, r7, pull #8
@@ -210,17 +184,8 @@ USER( strt r3, [r0], #4) @ May fault
		sub	r2, r2, ip
		sub	r2, r2, ip
		subs	ip, ip, #16
		subs	ip, ip, #16
		blt	.c2u_2rem8lp
		blt	.c2u_2rem8lp
	PLD(	pld	[r1, #12]		)

	PLD(	pld	[r0, #12]		)
.c2u_2cpy8lp:	mov	r3, r7, pull #16
	PLD(	subs	ip, ip, #32		)
	PLD(	blt	.c2u_2cpynopld		)
	PLD(	pld	[r1, #28]		)
	PLD(	pld	[r0, #28]		)

.c2u_2cpy8lp:
	PLD(	pld	[r1, #44]		)
	PLD(	pld	[r0, #44]		)
.c2u_2cpynopld:	mov	r3, r7, pull #16
		ldmia	r1!, {r4 - r7}
		ldmia	r1!, {r4 - r7}
		subs	ip, ip, #16
		subs	ip, ip, #16
		orr	r3, r3, r4, push #16
		orr	r3, r3, r4, push #16
@@ -232,9 +197,6 @@ USER( strt r3, [r0], #4) @ May fault
		orr	r6, r6, r7, push #16
		orr	r6, r6, r7, push #16
		stmia	r0!, {r3 - r6}			@ Shouldnt fault
		stmia	r0!, {r3 - r6}			@ Shouldnt fault
		bpl	.c2u_2cpy8lp
		bpl	.c2u_2cpy8lp
	PLD(	cmn	ip, #32			)
	PLD(	bge	.c2u_2cpynopld		)
	PLD(	add	ip, ip, #32		)


.c2u_2rem8lp:	tst	ip, #8
.c2u_2rem8lp:	tst	ip, #8
		movne	r3, r7, pull #16
		movne	r3, r7, pull #16
@@ -277,17 +239,8 @@ USER( strt r3, [r0], #4) @ May fault
		sub	r2, r2, ip
		sub	r2, r2, ip
		subs	ip, ip, #16
		subs	ip, ip, #16
		blt	.c2u_3rem8lp
		blt	.c2u_3rem8lp
	PLD(	pld	[r1, #12]		)

	PLD(	pld	[r0, #12]		)
.c2u_3cpy8lp:	mov	r3, r7, pull #24
	PLD(	subs	ip, ip, #32		)
	PLD(	blt	.c2u_3cpynopld		)
	PLD(	pld	[r1, #28]		)
	PLD(	pld	[r0, #28]		)

.c2u_3cpy8lp:
	PLD(	pld	[r1, #44]		)
	PLD(	pld	[r0, #44]		)
.c2u_3cpynopld:	mov	r3, r7, pull #24
		ldmia	r1!, {r4 - r7}
		ldmia	r1!, {r4 - r7}
		subs	ip, ip, #16
		subs	ip, ip, #16
		orr	r3, r3, r4, push #8
		orr	r3, r3, r4, push #8
@@ -299,9 +252,6 @@ USER( strt r3, [r0], #4) @ May fault
		orr	r6, r6, r7, push #8
		orr	r6, r6, r7, push #8
		stmia	r0!, {r3 - r6}			@ Shouldnt fault
		stmia	r0!, {r3 - r6}			@ Shouldnt fault
		bpl	.c2u_3cpy8lp
		bpl	.c2u_3cpy8lp
	PLD(	cmn	ip, #32			)
	PLD(	bge	.c2u_3cpynopld		)
	PLD(	add	ip, ip, #32		)


.c2u_3rem8lp:	tst	ip, #8
.c2u_3rem8lp:	tst	ip, #8
		movne	r3, r7, pull #24
		movne	r3, r7, pull #24
@@ -356,8 +306,6 @@ ENTRY(__arch_copy_from_user)
		stmfd	sp!, {r0, r2, r4 - r7, lr}
		stmfd	sp!, {r0, r2, r4 - r7, lr}
		cmp	r2, #4
		cmp	r2, #4
		blt	.cfu_not_enough
		blt	.cfu_not_enough
	PLD(	pld	[r1, #0]		)
	PLD(	pld	[r0, #0]		)
		ands	ip, r0, #3
		ands	ip, r0, #3
		bne	.cfu_dest_not_aligned
		bne	.cfu_dest_not_aligned
.cfu_dest_aligned:
.cfu_dest_aligned:
@@ -385,25 +333,13 @@ USER( ldrt r3, [r1], #4)
		sub	r2, r2, ip
		sub	r2, r2, ip
		subs	ip, ip, #32
		subs	ip, ip, #32
		blt	.cfu_0rem8lp
		blt	.cfu_0rem8lp
	PLD(	pld	[r1, #28]		)

	PLD(	pld	[r0, #28]		)
.cfu_0cpy8lp:	ldmia	r1!, {r3 - r6}			@ Shouldnt fault
	PLD(	subs	ip, ip, #64			)
	PLD(	blt	.cfu_0cpynopld		)
	PLD(	pld	[r1, #60]		)
	PLD(	pld	[r0, #60]		)

.cfu_0cpy8lp:
	PLD(	pld	[r1, #92]		)
	PLD(	pld	[r0, #92]		)
.cfu_0cpynopld:	ldmia	r1!, {r3 - r6}			@ Shouldnt fault
		stmia	r0!, {r3 - r6}
		stmia	r0!, {r3 - r6}
		ldmia	r1!, {r3 - r6}			@ Shouldnt fault
		ldmia	r1!, {r3 - r6}			@ Shouldnt fault
		subs	ip, ip, #32
		subs	ip, ip, #32
		stmia	r0!, {r3 - r6}
		stmia	r0!, {r3 - r6}
		bpl	.cfu_0cpy8lp
		bpl	.cfu_0cpy8lp
	PLD(	cmn	ip, #64			)
	PLD(	bge	.cfu_0cpynopld		)
	PLD(	add	ip, ip, #64		)


.cfu_0rem8lp:	cmn	ip, #16
.cfu_0rem8lp:	cmn	ip, #16
		ldmgeia	r1!, {r3 - r6}			@ Shouldnt fault
		ldmgeia	r1!, {r3 - r6}			@ Shouldnt fault
@@ -456,17 +392,8 @@ USER( ldrt r7, [r1], #4) @ May fault
		sub	r2, r2, ip
		sub	r2, r2, ip
		subs	ip, ip, #16
		subs	ip, ip, #16
		blt	.cfu_1rem8lp
		blt	.cfu_1rem8lp
	PLD(	pld	[r1, #12]		)

	PLD(	pld	[r0, #12]		)
.cfu_1cpy8lp:	mov	r3, r7, pull #8
	PLD(	subs	ip, ip, #32		)
	PLD(	blt	.cfu_1cpynopld		)
	PLD(	pld	[r1, #28]		)
	PLD(	pld	[r0, #28]		)

.cfu_1cpy8lp:
	PLD(	pld	[r1, #44]		)
	PLD(	pld	[r0, #44]		)
.cfu_1cpynopld:	mov	r3, r7, pull #8
		ldmia	r1!, {r4 - r7}			@ Shouldnt fault
		ldmia	r1!, {r4 - r7}			@ Shouldnt fault
		subs	ip, ip, #16
		subs	ip, ip, #16
		orr	r3, r3, r4, push #24
		orr	r3, r3, r4, push #24
@@ -478,9 +405,6 @@ USER( ldrt r7, [r1], #4) @ May fault
		orr	r6, r6, r7, push #24
		orr	r6, r6, r7, push #24
		stmia	r0!, {r3 - r6}
		stmia	r0!, {r3 - r6}
		bpl	.cfu_1cpy8lp
		bpl	.cfu_1cpy8lp
	PLD(	cmn	ip, #32			)
	PLD(	bge	.cfu_1cpynopld		)
	PLD(	add	ip, ip, #32		)


.cfu_1rem8lp:	tst	ip, #8
.cfu_1rem8lp:	tst	ip, #8
		movne	r3, r7, pull #8
		movne	r3, r7, pull #8
@@ -523,17 +447,8 @@ USER( ldrt r7, [r1], #4) @ May fault
		sub	r2, r2, ip
		sub	r2, r2, ip
		subs	ip, ip, #16
		subs	ip, ip, #16
		blt	.cfu_2rem8lp
		blt	.cfu_2rem8lp
	PLD(	pld	[r1, #12]		)

	PLD(	pld	[r0, #12]		)
.cfu_2cpy8lp:	mov	r3, r7, pull #16
	PLD(	subs	ip, ip, #32		)
	PLD(	blt	.cfu_2cpynopld		)
	PLD(	pld	[r1, #28]		)
	PLD(	pld	[r0, #28]		)

.cfu_2cpy8lp:
	PLD(	pld	[r1, #44]		)
	PLD(	pld	[r0, #44]		)
.cfu_2cpynopld:	mov	r3, r7, pull #16
		ldmia	r1!, {r4 - r7}			@ Shouldnt fault
		ldmia	r1!, {r4 - r7}			@ Shouldnt fault
		subs	ip, ip, #16
		subs	ip, ip, #16
		orr	r3, r3, r4, push #16
		orr	r3, r3, r4, push #16
@@ -545,9 +460,6 @@ USER( ldrt r7, [r1], #4) @ May fault
		orr	r6, r6, r7, push #16
		orr	r6, r6, r7, push #16
		stmia	r0!, {r3 - r6}
		stmia	r0!, {r3 - r6}
		bpl	.cfu_2cpy8lp
		bpl	.cfu_2cpy8lp
	PLD(	cmn	ip, #32			)
	PLD(	bge	.cfu_2cpynopld		)
	PLD(	add	ip, ip, #32		)


.cfu_2rem8lp:	tst	ip, #8
.cfu_2rem8lp:	tst	ip, #8
		movne	r3, r7, pull #16
		movne	r3, r7, pull #16
@@ -590,17 +502,8 @@ USER( ldrt r7, [r1], #4) @ May fault
		sub	r2, r2, ip
		sub	r2, r2, ip
		subs	ip, ip, #16
		subs	ip, ip, #16
		blt	.cfu_3rem8lp
		blt	.cfu_3rem8lp
	PLD(	pld	[r1, #12]		)

	PLD(	pld	[r0, #12]		)
.cfu_3cpy8lp:	mov	r3, r7, pull #24
	PLD(	subs	ip, ip, #32		)
	PLD(	blt	.cfu_3cpynopld		)
	PLD(	pld	[r1, #28]		)
	PLD(	pld	[r0, #28]		)

.cfu_3cpy8lp:
	PLD(	pld	[r1, #44]		)
	PLD(	pld	[r0, #44]		)
.cfu_3cpynopld:	mov	r3, r7, pull #24
		ldmia	r1!, {r4 - r7}			@ Shouldnt fault
		ldmia	r1!, {r4 - r7}			@ Shouldnt fault
		orr	r3, r3, r4, push #8
		orr	r3, r3, r4, push #8
		mov	r4, r4, pull #24
		mov	r4, r4, pull #24
@@ -612,9 +515,6 @@ USER( ldrt r7, [r1], #4) @ May fault
		stmia	r0!, {r3 - r6}
		stmia	r0!, {r3 - r6}
		subs	ip, ip, #16
		subs	ip, ip, #16
		bpl	.cfu_3cpy8lp
		bpl	.cfu_3cpy8lp
	PLD(	cmn	ip, #32			)
	PLD(	bge	.cfu_3cpynopld		)
	PLD(	add	ip, ip, #32		)


.cfu_3rem8lp:	tst	ip, #8
.cfu_3rem8lp:	tst	ip, #8
		movne	r3, r7, pull #24
		movne	r3, r7, pull #24