Merge tag 'hyperv-fixes-signed' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-microblaze.git] / arch / x86 / include / asm / uaccess_32.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _ASM_X86_UACCESS_32_H
3 #define _ASM_X86_UACCESS_32_H
4
5 /*
6  * User space memory access functions
7  */
8 #include <linux/string.h>
9 #include <asm/asm.h>
10 #include <asm/page.h>
11
12 unsigned long __must_check __copy_user_ll
13                 (void *to, const void *from, unsigned long n);
14 unsigned long __must_check __copy_from_user_ll_nocache_nozero
15                 (void *to, const void __user *from, unsigned long n);
16
17 static __always_inline unsigned long __must_check
18 raw_copy_to_user(void __user *to, const void *from, unsigned long n)
19 {
20         return __copy_user_ll((__force void *)to, from, n);
21 }
22
23 static __always_inline unsigned long
24 raw_copy_from_user(void *to, const void __user *from, unsigned long n)
25 {
26         return __copy_user_ll(to, (__force const void *)from, n);
27 }
28
29 static __always_inline unsigned long
30 __copy_from_user_inatomic_nocache(void *to, const void __user *from,
31                                   unsigned long n)
32 {
33        return __copy_from_user_ll_nocache_nozero(to, from, n);
34 }
35
36 #endif /* _ASM_X86_UACCESS_32_H */