diff options
author | John Williams <john.williams@petalogix.com> | 2009-08-13 22:06:46 -0400 |
---|---|---|
committer | Michal Simek <monstr@monstr.eu> | 2009-12-14 02:45:03 -0500 |
commit | 95dfbbe4700016bddd7e8915e95a97652e70f495 (patch) | |
tree | b9be4c0bbeed4b1bb392aa3285e1c24906f27047 /arch | |
parent | fd6ed51f4f9c01b5cea4a8be50bf49b0ae2fbd51 (diff) |
microblaze: Simple __copy_tofrom_user for noMMU
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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/microblaze/include/asm/uaccess.h | 12 | ||||
-rw-r--r-- | arch/microblaze/lib/uaccess.c | 7 |
2 files changed, 13 insertions, 6 deletions
diff --git a/arch/microblaze/include/asm/uaccess.h b/arch/microblaze/include/asm/uaccess.h index 5431b4631a7a..371bd6e56d9a 100644 --- a/arch/microblaze/include/asm/uaccess.h +++ b/arch/microblaze/include/asm/uaccess.h | |||
@@ -272,8 +272,9 @@ static inline int clear_user(char *to, int size) | |||
272 | return size; | 272 | return size; |
273 | } | 273 | } |
274 | 274 | ||
275 | extern unsigned long __copy_tofrom_user(void __user *to, | 275 | #define __copy_from_user(to, from, n) copy_from_user((to), (from), (n)) |
276 | const void __user *from, unsigned long size); | 276 | #define __copy_from_user_inatomic(to, from, n) \ |
277 | copy_from_user((to), (from), (n)) | ||
277 | 278 | ||
278 | #define copy_to_user(to, from, n) \ | 279 | #define copy_to_user(to, from, n) \ |
279 | (access_ok(VERIFY_WRITE, (to), (n)) ? \ | 280 | (access_ok(VERIFY_WRITE, (to), (n)) ? \ |
@@ -290,10 +291,6 @@ extern unsigned long __copy_tofrom_user(void __user *to, | |||
290 | (void __user *)(from), (n)) \ | 291 | (void __user *)(from), (n)) \ |
291 | : -EFAULT) | 292 | : -EFAULT) |
292 | 293 | ||
293 | #define __copy_from_user(to, from, n) copy_from_user((to), (from), (n)) | ||
294 | #define __copy_from_user_inatomic(to, from, n) \ | ||
295 | copy_from_user((to), (from), (n)) | ||
296 | |||
297 | extern int __strncpy_user(char *to, const char __user *from, int len); | 294 | extern int __strncpy_user(char *to, const char __user *from, int len); |
298 | extern int __strnlen_user(const char __user *sstr, int len); | 295 | extern int __strnlen_user(const char __user *sstr, int len); |
299 | 296 | ||
@@ -305,6 +302,9 @@ extern int __strnlen_user(const char __user *sstr, int len); | |||
305 | 302 | ||
306 | #endif /* CONFIG_MMU */ | 303 | #endif /* CONFIG_MMU */ |
307 | 304 | ||
305 | extern unsigned long __copy_tofrom_user(void __user *to, | ||
306 | const void __user *from, unsigned long size); | ||
307 | |||
308 | /* | 308 | /* |
309 | * The exception table consists of pairs of addresses: the first is the | 309 | * The exception table consists of pairs of addresses: the first is the |
310 | * address of an instruction that is allowed to fault, and the second is | 310 | * address of an instruction that is allowed to fault, and the second is |
diff --git a/arch/microblaze/lib/uaccess.c b/arch/microblaze/lib/uaccess.c index 8eb9df5a26c9..a853fe089c44 100644 --- a/arch/microblaze/lib/uaccess.c +++ b/arch/microblaze/lib/uaccess.c | |||
@@ -39,3 +39,10 @@ long strncpy_from_user(char *dst, const char __user *src, long count) | |||
39 | __do_strncpy_from_user(dst, src, count, res); | 39 | __do_strncpy_from_user(dst, src, count, res); |
40 | return res; | 40 | return res; |
41 | } | 41 | } |
42 | |||
43 | unsigned long __copy_tofrom_user(void __user *to, | ||
44 | const void __user *from, unsigned long size) | ||
45 | { | ||
46 | memcpy(to, from, size); | ||
47 | return 0; | ||
48 | } | ||