aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/sparc64/kernel/sparc64_ksyms.c2
-rw-r--r--arch/sparc64/lib/bzero.S18
-rw-r--r--include/asm-sparc64/uaccess.h9
3 files changed, 11 insertions, 18 deletions
diff --git a/arch/sparc64/kernel/sparc64_ksyms.c b/arch/sparc64/kernel/sparc64_ksyms.c
index f1f01378d079..801fc0ce4844 100644
--- a/arch/sparc64/kernel/sparc64_ksyms.c
+++ b/arch/sparc64/kernel/sparc64_ksyms.c
@@ -335,7 +335,7 @@ EXPORT_SYMBOL(copy_to_user_fixup);
335EXPORT_SYMBOL(copy_from_user_fixup); 335EXPORT_SYMBOL(copy_from_user_fixup);
336EXPORT_SYMBOL(copy_in_user_fixup); 336EXPORT_SYMBOL(copy_in_user_fixup);
337EXPORT_SYMBOL(__strncpy_from_user); 337EXPORT_SYMBOL(__strncpy_from_user);
338EXPORT_SYMBOL(__bzero_noasi); 338EXPORT_SYMBOL(__clear_user);
339 339
340/* Various address conversion macros use this. */ 340/* Various address conversion macros use this. */
341EXPORT_SYMBOL(phys_base); 341EXPORT_SYMBOL(phys_base);
diff --git a/arch/sparc64/lib/bzero.S b/arch/sparc64/lib/bzero.S
index 1d2abcfa4e52..c7bbae8c590f 100644
--- a/arch/sparc64/lib/bzero.S
+++ b/arch/sparc64/lib/bzero.S
@@ -98,12 +98,12 @@ __bzero_done:
98 .text; \ 98 .text; \
99 .align 4; 99 .align 4;
100 100
101 .globl __bzero_noasi 101 .globl __clear_user
102 .type __bzero_noasi, #function 102 .type __clear_user, #function
103__bzero_noasi: /* %o0=buf, %o1=len */ 103__clear_user: /* %o0=buf, %o1=len */
104 brz,pn %o1, __bzero_noasi_done 104 brz,pn %o1, __clear_user_done
105 cmp %o1, 16 105 cmp %o1, 16
106 bl,pn %icc, __bzero_noasi_tiny 106 bl,pn %icc, __clear_user_tiny
107 EX_ST(prefetcha [%o0 + 0x00] %asi, #n_writes) 107 EX_ST(prefetcha [%o0 + 0x00] %asi, #n_writes)
108 andcc %o0, 0x3, %g0 108 andcc %o0, 0x3, %g0
109 be,pt %icc, 2f 109 be,pt %icc, 2f
@@ -145,14 +145,14 @@ __bzero_noasi: /* %o0=buf, %o1=len */
145 subcc %g1, 8, %g1 145 subcc %g1, 8, %g1
146 bne,pt %icc, 5b 146 bne,pt %icc, 5b
147 add %o0, 0x8, %o0 147 add %o0, 0x8, %o0
1486: brz,pt %o1, __bzero_noasi_done 1486: brz,pt %o1, __clear_user_done
149 nop 149 nop
150__bzero_noasi_tiny: 150__clear_user_tiny:
1511: EX_ST(stba %g0, [%o0 + 0x00] %asi) 1511: EX_ST(stba %g0, [%o0 + 0x00] %asi)
152 subcc %o1, 1, %o1 152 subcc %o1, 1, %o1
153 bne,pt %icc, 1b 153 bne,pt %icc, 1b
154 add %o0, 1, %o0 154 add %o0, 1, %o0
155__bzero_noasi_done: 155__clear_user_done:
156 retl 156 retl
157 clr %o0 157 clr %o0
158 .size __bzero_noasi, .-__bzero_noasi 158 .size __clear_user, .-__clear_user
diff --git a/include/asm-sparc64/uaccess.h b/include/asm-sparc64/uaccess.h
index 0c375a989be0..afe236ba555b 100644
--- a/include/asm-sparc64/uaccess.h
+++ b/include/asm-sparc64/uaccess.h
@@ -252,14 +252,7 @@ copy_in_user(void __user *to, void __user *from, unsigned long size)
252} 252}
253#define __copy_in_user copy_in_user 253#define __copy_in_user copy_in_user
254 254
255extern unsigned long __must_check __bzero_noasi(void __user *, unsigned long); 255extern unsigned long __must_check __clear_user(void __user *, unsigned long);
256
257static inline unsigned long __must_check
258__clear_user(void __user *addr, unsigned long size)
259{
260
261 return __bzero_noasi(addr, size);
262}
263 256
264#define clear_user __clear_user 257#define clear_user __clear_user
265 258