microblaze: Simple __copy_tofrom_user for noMMU
authorJohn Williams <john.williams@petalogix.com>
Fri, 14 Aug 2009 02:06:46 +0000 (12:06 +1000)
committerMichal Simek <monstr@monstr.eu>
Mon, 14 Dec 2009 07:45:03 +0000 (08:45 +0100)
This is first patch which clear part of uaccess.h.
uaccess.h will be clear later.

Signed-off-by: John Williams <john.williams@petalogix.com>
Signed-off-by: Michal Simek <monstr@monstr.eu>
arch/microblaze/include/asm/uaccess.h
arch/microblaze/lib/uaccess.c

index 5431b46..371bd6e 100644 (file)
@@ -272,8 +272,9 @@ static inline int clear_user(char *to, int size)
        return size;
 }
 
-extern unsigned long __copy_tofrom_user(void __user *to,
-               const void __user *from, unsigned long size);
+#define __copy_from_user(to, from, n)  copy_from_user((to), (from), (n))
+#define __copy_from_user_inatomic(to, from, n) \
+               copy_from_user((to), (from), (n))
 
 #define copy_to_user(to, from, n)                                      \
        (access_ok(VERIFY_WRITE, (to), (n)) ?                           \
@@ -290,10 +291,6 @@ extern unsigned long __copy_tofrom_user(void __user *to,
                        (void __user *)(from), (n))                     \
                : -EFAULT)
 
-#define __copy_from_user(to, from, n)  copy_from_user((to), (from), (n))
-#define __copy_from_user_inatomic(to, from, n) \
-               copy_from_user((to), (from), (n))
-
 extern int __strncpy_user(char *to, const char __user *from, int len);
 extern int __strnlen_user(const char __user *sstr, int len);
 
@@ -305,6 +302,9 @@ extern int __strnlen_user(const char __user *sstr, int len);
 
 #endif /* CONFIG_MMU */
 
+extern unsigned long __copy_tofrom_user(void __user *to,
+               const void __user *from, unsigned long size);
+
 /*
  * The exception table consists of pairs of addresses: the first is the
  * address of an instruction that is allowed to fault, and the second is
index 8eb9df5..a853fe0 100644 (file)
@@ -39,3 +39,10 @@ long strncpy_from_user(char *dst, const char __user *src, long count)
                __do_strncpy_from_user(dst, src, count, res);
        return res;
 }
+
+unsigned long __copy_tofrom_user(void __user *to,
+               const void __user *from, unsigned long size)
+{
+       memcpy(to, from, size);
+       return 0;
+}