提交 405040a7 编写于 作者: R Russell King 提交者: Russell King

[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: NRussell King <rmk+kernel@arm.linux.org.uk>
上级 800d8b5c
......@@ -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"; \
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册