mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-27 13:05:03 +08:00
5b17e1cd89
The current asm-generic/page.h only contains the get_order function, and asm-generic/uaccess.h only implements unaligned accesses. This renames the file to getorder.h and uaccess-unaligned.h to make room for new page.h and uaccess.h file that will be usable by all simple (e.g. nommu) architectures. Signed-off-by: Remis Lima Baima <remis.developer@googlemail.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
27 lines
733 B
C
27 lines
733 B
C
#ifndef __ASM_GENERIC_UACCESS_UNALIGNED_H
|
|
#define __ASM_GENERIC_UACCESS_UNALIGNED_H
|
|
|
|
/*
|
|
* This macro should be used instead of __get_user() when accessing
|
|
* values at locations that are not known to be aligned.
|
|
*/
|
|
#define __get_user_unaligned(x, ptr) \
|
|
({ \
|
|
__typeof__ (*(ptr)) __x; \
|
|
__copy_from_user(&__x, (ptr), sizeof(*(ptr))) ? -EFAULT : 0; \
|
|
(x) = __x; \
|
|
})
|
|
|
|
|
|
/*
|
|
* This macro should be used instead of __put_user() when accessing
|
|
* values at locations that are not known to be aligned.
|
|
*/
|
|
#define __put_user_unaligned(x, ptr) \
|
|
({ \
|
|
__typeof__ (*(ptr)) __x = (x); \
|
|
__copy_to_user((ptr), &__x, sizeof(*(ptr))) ? -EFAULT : 0; \
|
|
})
|
|
|
|
#endif /* __ASM_GENERIC_UACCESS_UNALIGNED_H */
|