|
| FILE_LICENCE (GPL2_OR_LATER_OR_UBDL) |
|
static __always_inline unsigned long | UACCESS_INLINE (linux, user_to_phys)(userptr_t userptr |
| Convert user pointer to physical address. More...
|
|
static __always_inline userptr_t | UACCESS_INLINE (linux, phys_to_user)(physaddr_t phys_addr) |
| Convert physical address to user pointer. More...
|
|
static __always_inline userptr_t | UACCESS_INLINE (linux, virt_to_user)(volatile const void *addr) |
|
static __always_inline void * | UACCESS_INLINE (linux, user_to_virt)(userptr_t userptr |
|
static __always_inline userptr_t | UACCESS_INLINE (linux, userptr_add)(userptr_t userptr |
|
static __always_inline off_t | UACCESS_INLINE (linux, userptr_sub)(userptr_t userptr |
|
static __always_inline void | UACCESS_INLINE (linux, memcpy_user)(userptr_t dest |
|
static __always_inline void | UACCESS_INLINE (linux, memmove_user)(userptr_t dest |
|
static __always_inline int | UACCESS_INLINE (linux, memcmp_user)(userptr_t first |
|
static __always_inline void | UACCESS_INLINE (linux, memset_user)(userptr_t buffer |
|
static __always_inline size_t | UACCESS_INLINE (linux, strlen_user)(userptr_t buffer |
|
static __always_inline off_t | UACCESS_INLINE (linux, memchr_user)(userptr_t buffer |
|
iPXE user access API for Linux
We run with no distinction between internal and external addresses, so can use trivial_virt_to_user() et al.
We have no concept of the underlying physical addresses, since these are not exposed to userspace. We provide a stub implementation of user_to_phys() since this is required by alloc_memblock(). We provide no implementation of phys_to_user(); any code attempting to access physical addresses will therefore (correctly) fail to link.
Definition in file linux_uaccess.h.