mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-07-23 15:27:29 +00:00
There are only two uaccess variants on s390 left: the version that is used if the mvcos instruction is available, and the page table walk variant. So there is no need for expensive indirect function calls. By default the mvcos variant will be called. If the mvcos instruction is not available it will call the page table walk variant. For minimal performance impact the "if (mvcos_is_available)" is implemented with a jump label, which will be a six byte nop on machines with mvcos. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
16 lines
556 B
C
16 lines
556 B
C
/*
|
|
* Copyright IBM Corp. 2007
|
|
*
|
|
*/
|
|
|
|
#ifndef __ARCH_S390_LIB_UACCESS_H
|
|
#define __ARCH_S390_LIB_UACCESS_H
|
|
|
|
size_t copy_from_user_pt(void *to, const void __user *from, size_t n);
|
|
size_t copy_to_user_pt(void __user *to, const void *from, size_t n);
|
|
size_t copy_in_user_pt(void __user *to, const void __user *from, size_t n);
|
|
size_t clear_user_pt(void __user *to, size_t n);
|
|
size_t strnlen_user_pt(const char __user *src, size_t count);
|
|
size_t strncpy_from_user_pt(char *dst, const char __user *src, size_t count);
|
|
|
|
#endif /* __ARCH_S390_LIB_UACCESS_H */
|