]> git.ipfire.org Git - thirdparty/ipxe.git/commitdiff
[linux] Add stub phys_to_user() implementation
authorMichael Brown <mcb30@ipxe.org>
Wed, 23 Mar 2022 14:41:36 +0000 (14:41 +0000)
committerMichael Brown <mcb30@ipxe.org>
Thu, 24 Mar 2022 12:58:52 +0000 (12:58 +0000)
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>
src/include/ipxe/linux/linux_uaccess.h

index acd919a857ace16a02909bddfe46907de3e846e2..a642b61631e11b602b557a87935121ae438fc312 100644 (file)
@@ -25,7 +25,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
 #endif
 
 /**
- * Convert user buffer to physical address
+ * Convert user pointer to physical address
  *
  * @v userptr          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 );
 }
 
+/**
+ * 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
 UACCESS_INLINE ( linux, virt_to_user ) ( volatile const void *addr ) {
        return trivial_virt_to_user ( addr );