diff options
| author | Nicolas Pitre <nico@cam.org> | 2005-11-04 17:15:43 +0000 | 
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2005-11-04 17:15:43 +0000 | 
| commit | 73f0f7c79b046dc5d6b56a3f145430d97d50f877 (patch) | |
| tree | 4ea8a6270a7b3be8dc14fee074a0bbfeb620dea8 /arch/arm | |
| parent | 8b5f4f06eecc081892b05cd6077314d68872dfd6 (diff) | |
[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: Nicolas Pitre <nico@cam.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm')
| -rw-r--r-- | arch/arm/lib/uaccess.S | 132 | 
1 files changed, 16 insertions, 116 deletions
| diff --git a/arch/arm/lib/uaccess.S b/arch/arm/lib/uaccess.S index c28449157bea..6f1b5b49fe4c 100644 --- a/arch/arm/lib/uaccess.S +++ b/arch/arm/lib/uaccess.S @@ -43,8 +43,6 @@ ENTRY(__arch_copy_to_user)  		stmfd	sp!, {r2, r4 - r7, lr}  		cmp	r2, #4  		blt	.c2u_not_enough -	PLD(	pld	[r1, #0]		) -	PLD(	pld	[r0, #0]		)  		ands	ip, r0, #3  		bne	.c2u_dest_not_aligned  .c2u_dest_aligned: @@ -73,25 +71,13 @@ USER(		strt	r3, [r0], #4)			@ May fault  		sub	r2, r2, ip  		subs	ip, ip, #32  		blt	.c2u_0rem8lp -	PLD(	pld	[r1, #28]		) -	PLD(	pld	[r0, #28]		) -	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} + +.c2u_0cpy8lp:	ldmia	r1!, {r3 - r6}  		stmia	r0!, {r3 - r6}			@ Shouldnt fault  		ldmia	r1!, {r3 - r6}  		subs	ip, ip, #32  		stmia	r0!, {r3 - r6}			@ Shouldnt fault  		bpl	.c2u_0cpy8lp -	PLD(	cmn	ip, #64			) -	PLD(	bge	.c2u_0cpynopld		) -	PLD(	add	ip, ip, #64		)  .c2u_0rem8lp:	cmn	ip, #16  		ldmgeia	r1!, {r3 - r6} @@ -143,17 +129,8 @@ USER(		strt	r3, [r0], #4)			@ May fault  		sub	r2, r2, ip  		subs	ip, ip, #16  		blt	.c2u_1rem8lp -	PLD(	pld	[r1, #12]		) -	PLD(	pld	[r0, #12]		) -	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 + +.c2u_1cpy8lp:	mov	r3, r7, pull #8  		ldmia	r1!, {r4 - r7}  		subs	ip, ip, #16  		orr	r3, r3, r4, push #24 @@ -165,9 +142,6 @@ USER(		strt	r3, [r0], #4)			@ May fault  		orr	r6, r6, r7, push #24  		stmia	r0!, {r3 - r6}			@ Shouldnt fault  		bpl	.c2u_1cpy8lp -	PLD(	cmn	ip, #32			) -	PLD(	bge	.c2u_1cpynopld		) -	PLD(	add	ip, ip, #32		)  .c2u_1rem8lp:	tst	ip, #8  		movne	r3, r7, pull #8 @@ -210,17 +184,8 @@ USER(		strt	r3, [r0], #4)			@ May fault  		sub	r2, r2, ip  		subs	ip, ip, #16  		blt	.c2u_2rem8lp -	PLD(	pld	[r1, #12]		) -	PLD(	pld	[r0, #12]		) -	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 + +.c2u_2cpy8lp:	mov	r3, r7, pull #16  		ldmia	r1!, {r4 - r7}  		subs	ip, ip, #16  		orr	r3, r3, r4, push #16 @@ -232,9 +197,6 @@ USER(		strt	r3, [r0], #4)			@ May fault  		orr	r6, r6, r7, push #16  		stmia	r0!, {r3 - r6}			@ Shouldnt fault  		bpl	.c2u_2cpy8lp -	PLD(	cmn	ip, #32			) -	PLD(	bge	.c2u_2cpynopld		) -	PLD(	add	ip, ip, #32		)  .c2u_2rem8lp:	tst	ip, #8  		movne	r3, r7, pull #16 @@ -277,17 +239,8 @@ USER(		strt	r3, [r0], #4)			@ May fault  		sub	r2, r2, ip  		subs	ip, ip, #16  		blt	.c2u_3rem8lp -	PLD(	pld	[r1, #12]		) -	PLD(	pld	[r0, #12]		) -	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 + +.c2u_3cpy8lp:	mov	r3, r7, pull #24  		ldmia	r1!, {r4 - r7}  		subs	ip, ip, #16  		orr	r3, r3, r4, push #8 @@ -299,9 +252,6 @@ USER(		strt	r3, [r0], #4)			@ May fault  		orr	r6, r6, r7, push #8  		stmia	r0!, {r3 - r6}			@ Shouldnt fault  		bpl	.c2u_3cpy8lp -	PLD(	cmn	ip, #32			) -	PLD(	bge	.c2u_3cpynopld		) -	PLD(	add	ip, ip, #32		)  .c2u_3rem8lp:	tst	ip, #8  		movne	r3, r7, pull #24 @@ -356,8 +306,6 @@ ENTRY(__arch_copy_from_user)  		stmfd	sp!, {r0, r2, r4 - r7, lr}  		cmp	r2, #4  		blt	.cfu_not_enough -	PLD(	pld	[r1, #0]		) -	PLD(	pld	[r0, #0]		)  		ands	ip, r0, #3  		bne	.cfu_dest_not_aligned  .cfu_dest_aligned: @@ -385,25 +333,13 @@ USER(		ldrt	r3, [r1], #4)  		sub	r2, r2, ip  		subs	ip, ip, #32  		blt	.cfu_0rem8lp -	PLD(	pld	[r1, #28]		) -	PLD(	pld	[r0, #28]		) -	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 + +.cfu_0cpy8lp:	ldmia	r1!, {r3 - r6}			@ Shouldnt fault  		stmia	r0!, {r3 - r6}  		ldmia	r1!, {r3 - r6}			@ Shouldnt fault  		subs	ip, ip, #32  		stmia	r0!, {r3 - r6}  		bpl	.cfu_0cpy8lp -	PLD(	cmn	ip, #64			) -	PLD(	bge	.cfu_0cpynopld		) -	PLD(	add	ip, ip, #64		)  .cfu_0rem8lp:	cmn	ip, #16  		ldmgeia	r1!, {r3 - r6}			@ Shouldnt fault @@ -456,17 +392,8 @@ USER(		ldrt	r7, [r1], #4)			@ May fault  		sub	r2, r2, ip  		subs	ip, ip, #16  		blt	.cfu_1rem8lp -	PLD(	pld	[r1, #12]		) -	PLD(	pld	[r0, #12]		) -	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 + +.cfu_1cpy8lp:	mov	r3, r7, pull #8  		ldmia	r1!, {r4 - r7}			@ Shouldnt fault  		subs	ip, ip, #16  		orr	r3, r3, r4, push #24 @@ -478,9 +405,6 @@ USER(		ldrt	r7, [r1], #4)			@ May fault  		orr	r6, r6, r7, push #24  		stmia	r0!, {r3 - r6}  		bpl	.cfu_1cpy8lp -	PLD(	cmn	ip, #32			) -	PLD(	bge	.cfu_1cpynopld		) -	PLD(	add	ip, ip, #32		)  .cfu_1rem8lp:	tst	ip, #8  		movne	r3, r7, pull #8 @@ -523,17 +447,8 @@ USER(		ldrt	r7, [r1], #4)			@ May fault  		sub	r2, r2, ip  		subs	ip, ip, #16  		blt	.cfu_2rem8lp -	PLD(	pld	[r1, #12]		) -	PLD(	pld	[r0, #12]		) -	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 + +.cfu_2cpy8lp:	mov	r3, r7, pull #16  		ldmia	r1!, {r4 - r7}			@ Shouldnt fault  		subs	ip, ip, #16  		orr	r3, r3, r4, push #16 @@ -545,9 +460,6 @@ USER(		ldrt	r7, [r1], #4)			@ May fault  		orr	r6, r6, r7, push #16  		stmia	r0!, {r3 - r6}  		bpl	.cfu_2cpy8lp -	PLD(	cmn	ip, #32			) -	PLD(	bge	.cfu_2cpynopld		) -	PLD(	add	ip, ip, #32		)  .cfu_2rem8lp:	tst	ip, #8  		movne	r3, r7, pull #16 @@ -590,17 +502,8 @@ USER(		ldrt	r7, [r1], #4)			@ May fault  		sub	r2, r2, ip  		subs	ip, ip, #16  		blt	.cfu_3rem8lp -	PLD(	pld	[r1, #12]		) -	PLD(	pld	[r0, #12]		) -	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 + +.cfu_3cpy8lp:	mov	r3, r7, pull #24  		ldmia	r1!, {r4 - r7}			@ Shouldnt fault  		orr	r3, r3, r4, push #8  		mov	r4, r4, pull #24 @@ -612,9 +515,6 @@ USER(		ldrt	r7, [r1], #4)			@ May fault  		stmia	r0!, {r3 - r6}  		subs	ip, ip, #16  		bpl	.cfu_3cpy8lp -	PLD(	cmn	ip, #32			) -	PLD(	bge	.cfu_3cpynopld		) -	PLD(	add	ip, ip, #32		)  .cfu_3rem8lp:	tst	ip, #8  		movne	r3, r7, pull #24 | 
