]> err.no Git - linux-2.6/blobdiff - include/asm-x86/uaccess_64.h
mm: show free swap as signed
[linux-2.6] / include / asm-x86 / uaccess_64.h
index 42a9769687e9e7a2f99ac62cc3575a8bfbc7b6c9..515d4dce96b598bc6e9d07dba21332a44924948c 100644 (file)
@@ -9,54 +9,6 @@
 #include <linux/prefetch.h>
 #include <asm/page.h>
 
-#define ARCH_HAS_SEARCH_EXTABLE
-
-extern void __put_user_1(void);
-extern void __put_user_2(void);
-extern void __put_user_4(void);
-extern void __put_user_8(void);
-extern void __put_user_bad(void);
-
-#define __put_user_x(size, ret, x, ptr)                                        \
-       asm volatile("call __put_user_" #size                           \
-                    :"=a" (ret)                                        \
-                    :"c" (ptr),"a" (x)                                 \
-                    :"ebx")
-
-#define put_user(x, ptr)                                               \
-       __put_user_check((__typeof__(*(ptr)))(x), (ptr), sizeof(*(ptr)))
-
-#define __get_user(x, ptr)                                             \
-       __get_user_nocheck((x), (ptr), sizeof(*(ptr)))
-#define __put_user(x, ptr)                                             \
-       __put_user_nocheck((__typeof__(*(ptr)))(x), (ptr), sizeof(*(ptr)))
-
-#define __get_user_unaligned __get_user
-#define __put_user_unaligned __put_user
-
-#define __put_user_check(x, ptr, size)                         \
-({                                                             \
-       int __pu_err;                                           \
-       typeof(*(ptr)) __user *__pu_addr = (ptr);               \
-       switch (size) {                                         \
-       case 1:                                                 \
-               __put_user_x(1, __pu_err, x, __pu_addr);        \
-               break;                                          \
-       case 2:                                                 \
-               __put_user_x(2, __pu_err, x, __pu_addr);        \
-               break;                                          \
-       case 4:                                                 \
-               __put_user_x(4, __pu_err, x, __pu_addr);        \
-               break;                                          \
-       case 8:                                                 \
-               __put_user_x(8, __pu_err, x, __pu_addr);        \
-               break;                                          \
-       default:                                                \
-               __put_user_bad();                               \
-       }                                                       \
-       __pu_err;                                               \
-})
-
 /*
  * Copy To/From Userspace
  */
@@ -226,7 +178,6 @@ __copy_to_user_inatomic(void __user *dst, const void *src, unsigned size)
        return copy_user_generic((__force void *)dst, src, size);
 }
 
-#define ARCH_HAS_NOCACHE_UACCESS 1
 extern long __copy_user_nocache(void *dst, const void __user *src,
                                unsigned size, int zerorest);
 
@@ -244,4 +195,7 @@ static inline int __copy_from_user_inatomic_nocache(void *dst,
        return __copy_user_nocache(dst, src, size, 0);
 }
 
+unsigned long
+copy_user_handle_tail(char *to, char *from, unsigned len, unsigned zerorest);
+
 #endif /* __X86_64_UACCESS_H */