mirror of
https://github.com/ipxe/ipxe
synced 2026-03-16 03:02:07 +03:00
[linux] Add stub phys_to_user() implementation
For symmetry with the stub user_to_phys() implementation, provide phys_to_user() with the same underlying assumption that virtual addresses are physical (since there is no way to know the real physical address when running as a Linux userspace executable). Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
@@ -25,7 +25,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Convert user buffer to physical address
|
* Convert user pointer to physical address
|
||||||
*
|
*
|
||||||
* @v userptr User pointer
|
* @v userptr User pointer
|
||||||
* @v offset Offset from user pointer
|
* @v offset Offset from user pointer
|
||||||
@@ -46,6 +46,19 @@ UACCESS_INLINE ( linux, user_to_phys ) ( userptr_t userptr, off_t offset ) {
|
|||||||
return ( userptr + offset );
|
return ( userptr + offset );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Convert physical address to user pointer
|
||||||
|
*
|
||||||
|
* @v phys_addr Physical address
|
||||||
|
* @ret userptr User pointer
|
||||||
|
*/
|
||||||
|
static inline __always_inline userptr_t
|
||||||
|
UACCESS_INLINE ( linux, phys_to_user ) ( physaddr_t phys_addr ) {
|
||||||
|
|
||||||
|
/* For symmetry with the stub user_to_phys() */
|
||||||
|
return phys_addr;
|
||||||
|
}
|
||||||
|
|
||||||
static inline __always_inline userptr_t
|
static inline __always_inline userptr_t
|
||||||
UACCESS_INLINE ( linux, virt_to_user ) ( volatile const void *addr ) {
|
UACCESS_INLINE ( linux, virt_to_user ) ( volatile const void *addr ) {
|
||||||
return trivial_virt_to_user ( addr );
|
return trivial_virt_to_user ( addr );
|
||||||
|
|||||||
Reference in New Issue
Block a user