mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-08 14:23:19 +00:00
[ARM] Remove save_lr/restore_pc macros
As for RETINSTR/LOADREGS macros, these were for compatibility with 26-bit ARMs. No longer required, so remove them. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
800d8b5c4b
commit
405040a78b
@ -21,7 +21,6 @@
|
||||
* -EFAULT on exception, or "len" if we fill the whole buffer
|
||||
*/
|
||||
ENTRY(__arch_strncpy_from_user)
|
||||
save_lr
|
||||
mov ip, r1
|
||||
1: subs r2, r2, #1
|
||||
USER( ldrplbt r3, [r1], #1)
|
||||
@ -31,13 +30,13 @@ USER( ldrplbt r3, [r1], #1)
|
||||
bne 1b
|
||||
sub r1, r1, #1 @ take NUL character out of count
|
||||
2: sub r0, r1, ip
|
||||
restore_pc
|
||||
mov pc, lr
|
||||
|
||||
.section .fixup,"ax"
|
||||
.align 0
|
||||
9001: mov r3, #0
|
||||
strb r3, [r0, #0] @ null terminate
|
||||
mov r0, #-EFAULT
|
||||
restore_pc
|
||||
mov pc, lr
|
||||
.previous
|
||||
|
||||
|
@ -21,7 +21,6 @@
|
||||
* or zero on exception, or n + 1 if too long
|
||||
*/
|
||||
ENTRY(__arch_strnlen_user)
|
||||
save_lr
|
||||
mov r2, r0
|
||||
1:
|
||||
USER( ldrbt r3, [r0], #1)
|
||||
@ -31,10 +30,10 @@ USER( ldrbt r3, [r0], #1)
|
||||
bne 1b
|
||||
add r0, r0, #1
|
||||
2: sub r0, r0, r2
|
||||
restore_pc
|
||||
mov pc, lr
|
||||
|
||||
.section .fixup,"ax"
|
||||
.align 0
|
||||
9001: mov r0, #0
|
||||
restore_pc
|
||||
mov pc, lr
|
||||
.previous
|
||||
|
@ -100,18 +100,6 @@
|
||||
msr cpsr_c, \oldcpsr
|
||||
.endm
|
||||
|
||||
/*
|
||||
* These two are used to save LR/restore PC over a user-based access.
|
||||
* The old 26-bit architecture requires that we do. On 32-bit
|
||||
* architecture, we can safely ignore this requirement.
|
||||
*/
|
||||
.macro save_lr
|
||||
.endm
|
||||
|
||||
.macro restore_pc
|
||||
mov pc, lr
|
||||
.endm
|
||||
|
||||
#define USER(x...) \
|
||||
9999: x; \
|
||||
.section __ex_table,"a"; \
|
||||
|
Loading…
Reference in New Issue
Block a user