summaryrefslogtreecommitdiffstats
path: root/src/image
diff options
context:
space:
mode:
authorMichael Brown2025-04-21 17:16:01 +0200
committerMichael Brown2025-04-21 17:17:19 +0200
commit8c31270a21a85cc87bce0e07e19e2041d2510a4c (patch)
tree66255f4f34f30650bf2dbda212e551104fbd9ef0 /src/image
parent[uaccess] Remove redundant user_to_virt() (diff)
downloadipxe-8c31270a21a85cc87bce0e07e19e2041d2510a4c.tar.gz
ipxe-8c31270a21a85cc87bce0e07e19e2041d2510a4c.tar.xz
ipxe-8c31270a21a85cc87bce0e07e19e2041d2510a4c.zip
[uaccess] Remove user_to_phys() and phys_to_user()
Remove the intermediate concept of a user pointer from physical address conversions, leaving virt_to_phys() and phys_to_virt() as the directly implemented functions. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/image')
-rw-r--r--src/image/elf.c2
-rw-r--r--src/image/segment.c6
2 files changed, 4 insertions, 4 deletions
diff --git a/src/image/elf.c b/src/image/elf.c
index 46c9fe8eb..fa714b15f 100644
--- a/src/image/elf.c
+++ b/src/image/elf.c
@@ -50,7 +50,7 @@ FILE_LICENCE ( GPL2_OR_LATER_OR_UBDL );
*/
static int elf_load_segment ( struct image *image, Elf_Phdr *phdr,
physaddr_t dest ) {
- userptr_t buffer = phys_to_user ( dest );
+ userptr_t buffer = phys_to_virt ( dest );
int rc;
DBGC ( image, "ELF %p loading segment [%x,%x) to [%lx,%lx,%lx)\n",
diff --git a/src/image/segment.c b/src/image/segment.c
index b7f8ef56c..ebc2b703d 100644
--- a/src/image/segment.c
+++ b/src/image/segment.c
@@ -59,9 +59,9 @@ struct errortab segment_errors[] __errortab = {
*/
int prep_segment ( userptr_t segment, size_t filesz, size_t memsz ) {
struct memory_map memmap;
- physaddr_t start = user_to_phys ( segment, 0 );
- physaddr_t mid = user_to_phys ( segment, filesz );
- physaddr_t end = user_to_phys ( segment, memsz );
+ physaddr_t start = virt_to_phys ( segment );
+ physaddr_t mid = ( start + filesz );
+ physaddr_t end = ( start + memsz );
unsigned int i;
DBG ( "Preparing segment [%lx,%lx,%lx)\n", start, mid, end );