sparc64: Delete __ret_efault.
authorDavid S. Miller <davem@davemloft.net>
Wed, 10 Aug 2016 21:41:33 +0000 (14:41 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 21 Nov 2016 09:06:41 +0000 (10:06 +0100)
[ Upstream commit aa95ce361ed95c72ac42dcb315166bce5cf1a014 ]

It is completely unused.

Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/sparc/include/asm/uaccess_64.h
arch/sparc/kernel/head_64.S
arch/sparc/kernel/sparc_ksyms_64.c

index ea6e9a20f3ffb5a80156b1766ac2112c3c0d2bdc..a17b8c4b189f64616ecd15bc78794eb2fb1f58d1 100644 (file)
@@ -98,7 +98,6 @@ struct exception_table_entry {
         unsigned int insn, fixup;
 };
 
-void __ret_efault(void);
 void __retl_efault(void);
 
 /* Uh, these should become the main single-value transfer routines..
@@ -179,20 +178,6 @@ int __put_user_bad(void);
         __gu_ret;                                                           \
 })
 
-#define __get_user_nocheck_ret(data, addr, size, type, retval) ({      \
-       register unsigned long __gu_val __asm__ ("l1");                 \
-       switch (size) {                                                 \
-       case 1: __get_user_asm_ret(__gu_val, ub, addr, retval); break;  \
-       case 2: __get_user_asm_ret(__gu_val, uh, addr, retval); break;  \
-       case 4: __get_user_asm_ret(__gu_val, uw, addr, retval); break;  \
-       case 8: __get_user_asm_ret(__gu_val, x, addr, retval); break;   \
-       default:                                                        \
-               if (__get_user_bad())                                   \
-                       return retval;                                  \
-       }                                                               \
-       data = (__force type) __gu_val;                                 \
-})
-
 #define __get_user_asm(x, size, addr, ret)                             \
 __asm__ __volatile__(                                                  \
                "/* Get user asm, inline. */\n"                         \
@@ -214,32 +199,6 @@ __asm__ __volatile__(                                                      \
               : "=r" (ret), "=r" (x) : "r" (__m(addr)),                \
                 "i" (-EFAULT))
 
-#define __get_user_asm_ret(x, size, addr, retval)                      \
-if (__builtin_constant_p(retval) && retval == -EFAULT)                 \
-       __asm__ __volatile__(                                           \
-               "/* Get user asm ret, inline. */\n"                     \
-       "1:\t"  "ld"#size "a [%1] %%asi, %0\n\n\t"                      \
-               ".section __ex_table,\"a\"\n\t"                         \
-               ".align 4\n\t"                                          \
-               ".word  1b,__ret_efault\n\n\t"                          \
-               ".previous\n\t"                                         \
-              : "=r" (x) : "r" (__m(addr)));                           \
-else                                                                   \
-       __asm__ __volatile__(                                           \
-               "/* Get user asm ret, inline. */\n"                     \
-       "1:\t"  "ld"#size "a [%1] %%asi, %0\n\n\t"                      \
-               ".section .fixup,#alloc,#execinstr\n\t"                 \
-               ".align 4\n"                                            \
-       "3:\n\t"                                                        \
-               "ret\n\t"                                               \
-               " restore %%g0, %2, %%o0\n\n\t"                         \
-               ".previous\n\t"                                         \
-               ".section __ex_table,\"a\"\n\t"                         \
-               ".align 4\n\t"                                          \
-               ".word  1b, 3b\n\n\t"                                   \
-               ".previous\n\t"                                         \
-              : "=r" (x) : "r" (__m(addr)), "i" (retval))
-
 int __get_user_bad(void);
 
 unsigned long __must_check ___copy_from_user(void *to,
index 51faf92ace001c38cad6db2ecfd7e762363fe23f..7d45fd31573a4b7e7bbdd9f2eedc3454800c1ee3 100644 (file)
@@ -922,12 +922,7 @@ prom_tba:  .xword  0
 tlb_type:      .word   0       /* Must NOT end up in BSS */
        .section        ".fixup",#alloc,#execinstr
 
-       .globl  __ret_efault, __retl_efault, __ret_one, __retl_one
-ENTRY(__ret_efault)
-       ret
-        restore %g0, -EFAULT, %o0
-ENDPROC(__ret_efault)
-
+       .globl  __retl_efault, __ret_one, __retl_one
 ENTRY(__retl_efault)
        retl
         mov    -EFAULT, %o0
index a92d5d2c46a3a6553bf13a57f95f65c6d61c334c..51b25325a9617f1e168a578a3516584948905914 100644 (file)
@@ -27,7 +27,6 @@ EXPORT_SYMBOL(__flushw_user);
 EXPORT_SYMBOL_GPL(real_hard_smp_processor_id);
 
 /* from head_64.S */
-EXPORT_SYMBOL(__ret_efault);
 EXPORT_SYMBOL(tlb_type);
 EXPORT_SYMBOL(sun4v_chip_type);
 EXPORT_SYMBOL(prom_root_node);