summaryrefslogtreecommitdiffstats
path: root/kernel/arch/arm/lib/clear_user.S
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/arch/arm/lib/clear_user.S')
-rw-r--r--kernel/arch/arm/lib/clear_user.S10
1 files changed, 7 insertions, 3 deletions
diff --git a/kernel/arch/arm/lib/clear_user.S b/kernel/arch/arm/lib/clear_user.S
index 1710fd7db..e936352cc 100644
--- a/kernel/arch/arm/lib/clear_user.S
+++ b/kernel/arch/arm/lib/clear_user.S
@@ -9,17 +9,20 @@
*/
#include <linux/linkage.h>
#include <asm/assembler.h>
+#include <asm/unwind.h>
.text
-/* Prototype: int __clear_user(void *addr, size_t sz)
+/* Prototype: unsigned long arm_clear_user(void *addr, size_t sz)
* Purpose : clear some user memory
* Params : addr - user memory address to clear
* : sz - number of bytes to clear
* Returns : number of bytes NOT cleared
*/
ENTRY(__clear_user_std)
-WEAK(__clear_user)
+WEAK(arm_clear_user)
+UNWIND(.fnstart)
+UNWIND(.save {r1, lr})
stmfd sp!, {r1, lr}
mov r2, #0
cmp r1, #4
@@ -44,7 +47,8 @@ WEAK(__clear_user)
USER( strnebt r2, [r0])
mov r0, #0
ldmfd sp!, {r1, pc}
-ENDPROC(__clear_user)
+UNWIND(.fnend)
+ENDPROC(arm_clear_user)
ENDPROC(__clear_user_std)
.pushsection .text.fixup,"ax"