diff options
| author | David S. Miller <davem@sunset.davemloft.net> | 2006-03-05 19:46:58 -0500 |
|---|---|---|
| committer | David S. Miller <davem@sunset.davemloft.net> | 2006-03-20 04:13:15 -0500 |
| commit | bc45e32e0fbf661d0c5c5b9c981bc0fe5da4901f (patch) | |
| tree | cf4a313304153b39bd155c062b934d607500f2ae /include | |
| parent | 8e42550c683b2ad4869fc4fa438204841fd9b7cc (diff) | |
[SPARC]: Kill off these __put_user_ret things.
They are bogus and haven't been referenced in years.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-sparc/uaccess.h | 47 | ||||
| -rw-r--r-- | include/asm-sparc64/uaccess.h | 37 |
2 files changed, 0 insertions, 84 deletions
diff --git a/include/asm-sparc/uaccess.h b/include/asm-sparc/uaccess.h index f8f1ec1f06e6..3cf132e1aa25 100644 --- a/include/asm-sparc/uaccess.h +++ b/include/asm-sparc/uaccess.h | |||
| @@ -120,17 +120,6 @@ case 8: __put_user_asm(x,d,addr,__pu_ret); break; \ | |||
| 120 | default: __pu_ret = __put_user_bad(); break; \ | 120 | default: __pu_ret = __put_user_bad(); break; \ |
| 121 | } } else { __pu_ret = -EFAULT; } __pu_ret; }) | 121 | } } else { __pu_ret = -EFAULT; } __pu_ret; }) |
| 122 | 122 | ||
| 123 | #define __put_user_check_ret(x,addr,size,retval) ({ \ | ||
| 124 | register int __foo __asm__ ("l1"); \ | ||
| 125 | if (__access_ok(addr,size)) { \ | ||
| 126 | switch (size) { \ | ||
| 127 | case 1: __put_user_asm_ret(x,b,addr,retval,__foo); break; \ | ||
| 128 | case 2: __put_user_asm_ret(x,h,addr,retval,__foo); break; \ | ||
| 129 | case 4: __put_user_asm_ret(x,,addr,retval,__foo); break; \ | ||
| 130 | case 8: __put_user_asm_ret(x,d,addr,retval,__foo); break; \ | ||
| 131 | default: if (__put_user_bad()) return retval; break; \ | ||
| 132 | } } else return retval; }) | ||
| 133 | |||
| 134 | #define __put_user_nocheck(x,addr,size) ({ \ | 123 | #define __put_user_nocheck(x,addr,size) ({ \ |
| 135 | register int __pu_ret; \ | 124 | register int __pu_ret; \ |
| 136 | switch (size) { \ | 125 | switch (size) { \ |
| @@ -141,16 +130,6 @@ case 8: __put_user_asm(x,d,addr,__pu_ret); break; \ | |||
| 141 | default: __pu_ret = __put_user_bad(); break; \ | 130 | default: __pu_ret = __put_user_bad(); break; \ |
| 142 | } __pu_ret; }) | 131 | } __pu_ret; }) |
| 143 | 132 | ||
| 144 | #define __put_user_nocheck_ret(x,addr,size,retval) ({ \ | ||
| 145 | register int __foo __asm__ ("l1"); \ | ||
| 146 | switch (size) { \ | ||
| 147 | case 1: __put_user_asm_ret(x,b,addr,retval,__foo); break; \ | ||
| 148 | case 2: __put_user_asm_ret(x,h,addr,retval,__foo); break; \ | ||
| 149 | case 4: __put_user_asm_ret(x,,addr,retval,__foo); break; \ | ||
| 150 | case 8: __put_user_asm_ret(x,d,addr,retval,__foo); break; \ | ||
| 151 | default: if (__put_user_bad()) return retval; break; \ | ||
| 152 | } }) | ||
| 153 | |||
| 154 | #define __put_user_asm(x,size,addr,ret) \ | 133 | #define __put_user_asm(x,size,addr,ret) \ |
| 155 | __asm__ __volatile__( \ | 134 | __asm__ __volatile__( \ |
| 156 | "/* Put user asm, inline. */\n" \ | 135 | "/* Put user asm, inline. */\n" \ |
| @@ -170,32 +149,6 @@ __asm__ __volatile__( \ | |||
| 170 | : "=&r" (ret) : "r" (x), "m" (*__m(addr)), \ | 149 | : "=&r" (ret) : "r" (x), "m" (*__m(addr)), \ |
| 171 | "i" (-EFAULT)) | 150 | "i" (-EFAULT)) |
| 172 | 151 | ||
| 173 | #define __put_user_asm_ret(x,size,addr,ret,foo) \ | ||
| 174 | if (__builtin_constant_p(ret) && ret == -EFAULT) \ | ||
| 175 | __asm__ __volatile__( \ | ||
| 176 | "/* Put user asm ret, inline. */\n" \ | ||
| 177 | "1:\t" "st"#size " %1, %2\n\n\t" \ | ||
| 178 | ".section __ex_table,#alloc\n\t" \ | ||
| 179 | ".align 4\n\t" \ | ||
| 180 | ".word 1b, __ret_efault\n\n\t" \ | ||
| 181 | ".previous\n\n\t" \ | ||
| 182 | : "=r" (foo) : "r" (x), "m" (*__m(addr))); \ | ||
| 183 | else \ | ||
| 184 | __asm__ __volatile( \ | ||
| 185 | "/* Put user asm ret, inline. */\n" \ | ||
| 186 | "1:\t" "st"#size " %1, %2\n\n\t" \ | ||
| 187 | ".section .fixup,#alloc,#execinstr\n\t" \ | ||
| 188 | ".align 4\n" \ | ||
| 189 | "3:\n\t" \ | ||
| 190 | "ret\n\t" \ | ||
| 191 | " restore %%g0, %3, %%o0\n\t" \ | ||
| 192 | ".previous\n\n\t" \ | ||
| 193 | ".section __ex_table,#alloc\n\t" \ | ||
| 194 | ".align 4\n\t" \ | ||
| 195 | ".word 1b, 3b\n\n\t" \ | ||
| 196 | ".previous\n\n\t" \ | ||
| 197 | : "=r" (foo) : "r" (x), "m" (*__m(addr)), "i" (ret)) | ||
| 198 | |||
| 199 | extern int __put_user_bad(void); | 152 | extern int __put_user_bad(void); |
| 200 | 153 | ||
| 201 | #define __get_user_check(x,addr,size,type) ({ \ | 154 | #define __get_user_check(x,addr,size,type) ({ \ |
diff --git a/include/asm-sparc64/uaccess.h b/include/asm-sparc64/uaccess.h index c91d1e38eac6..0c375a989be0 100644 --- a/include/asm-sparc64/uaccess.h +++ b/include/asm-sparc64/uaccess.h | |||
| @@ -114,16 +114,6 @@ case 8: __put_user_asm(data,x,addr,__pu_ret); break; \ | |||
| 114 | default: __pu_ret = __put_user_bad(); break; \ | 114 | default: __pu_ret = __put_user_bad(); break; \ |
| 115 | } __pu_ret; }) | 115 | } __pu_ret; }) |
| 116 | 116 | ||
| 117 | #define __put_user_nocheck_ret(data,addr,size,retval) ({ \ | ||
| 118 | register int __foo __asm__ ("l1"); \ | ||
| 119 | switch (size) { \ | ||
| 120 | case 1: __put_user_asm_ret(data,b,addr,retval,__foo); break; \ | ||
| 121 | case 2: __put_user_asm_ret(data,h,addr,retval,__foo); break; \ | ||
| 122 | case 4: __put_user_asm_ret(data,w,addr,retval,__foo); break; \ | ||
| 123 | case 8: __put_user_asm_ret(data,x,addr,retval,__foo); break; \ | ||
| 124 | default: if (__put_user_bad()) return retval; break; \ | ||
| 125 | } }) | ||
| 126 | |||
| 127 | #define __put_user_asm(x,size,addr,ret) \ | 117 | #define __put_user_asm(x,size,addr,ret) \ |
| 128 | __asm__ __volatile__( \ | 118 | __asm__ __volatile__( \ |
| 129 | "/* Put user asm, inline. */\n" \ | 119 | "/* Put user asm, inline. */\n" \ |
| @@ -143,33 +133,6 @@ __asm__ __volatile__( \ | |||
| 143 | : "=r" (ret) : "r" (x), "r" (__m(addr)), \ | 133 | : "=r" (ret) : "r" (x), "r" (__m(addr)), \ |
| 144 | "i" (-EFAULT)) | 134 | "i" (-EFAULT)) |
| 145 | 135 | ||
| 146 | #define __put_user_asm_ret(x,size,addr,ret,foo) \ | ||
| 147 | if (__builtin_constant_p(ret) && ret == -EFAULT) \ | ||
| 148 | __asm__ __volatile__( \ | ||
| 149 | "/* Put user asm ret, inline. */\n" \ | ||
| 150 | "1:\t" "st"#size "a %1, [%2] %%asi\n\n\t" \ | ||
| 151 | ".section __ex_table,\"a\"\n\t" \ | ||
| 152 | ".align 4\n\t" \ | ||
| 153 | ".word 1b, __ret_efault\n\n\t" \ | ||
| 154 | ".previous\n\n\t" \ | ||
| 155 | : "=r" (foo) : "r" (x), "r" (__m(addr))); \ | ||
| 156 | else \ | ||
| 157 | __asm__ __volatile__( \ | ||
| 158 | "/* Put user asm ret, inline. */\n" \ | ||
| 159 | "1:\t" "st"#size "a %1, [%2] %%asi\n\n\t" \ | ||
| 160 | ".section .fixup,#alloc,#execinstr\n\t" \ | ||
| 161 | ".align 4\n" \ | ||
| 162 | "3:\n\t" \ | ||
| 163 | "ret\n\t" \ | ||
| 164 | " restore %%g0, %3, %%o0\n\n\t" \ | ||
| 165 | ".previous\n\t" \ | ||
| 166 | ".section __ex_table,\"a\"\n\t" \ | ||
| 167 | ".align 4\n\t" \ | ||
| 168 | ".word 1b, 3b\n\n\t" \ | ||
| 169 | ".previous\n\n\t" \ | ||
| 170 | : "=r" (foo) : "r" (x), "r" (__m(addr)), \ | ||
| 171 | "i" (ret)) | ||
| 172 | |||
| 173 | extern int __put_user_bad(void); | 136 | extern int __put_user_bad(void); |
| 174 | 137 | ||
| 175 | #define __get_user_nocheck(data,addr,size,type) ({ \ | 138 | #define __get_user_nocheck(data,addr,size,type) ({ \ |
