diff options
Diffstat (limited to 'loader.c')
-rw-r--r-- | loader.c | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -196,7 +196,7 @@ static void *load_at(int fd, int offset, int size) /* return < 0 if error, otherwise the number of bytes loaded in memory */ int load_elf(const char *filename, int64_t virt_to_phys_addend, - uint64_t *pentry) + uint64_t *pentry, uint64_t *lowaddr, uint64_t *highaddr) { int fd, data_order, host_data_order, must_swab, ret; uint8_t e_ident[EI_NIDENT]; @@ -230,9 +230,11 @@ int load_elf(const char *filename, int64_t virt_to_phys_addend, lseek(fd, 0, SEEK_SET); if (e_ident[EI_CLASS] == ELFCLASS64) { - ret = load_elf64(fd, virt_to_phys_addend, must_swab, pentry); + ret = load_elf64(fd, virt_to_phys_addend, must_swab, pentry, + lowaddr, highaddr); } else { - ret = load_elf32(fd, virt_to_phys_addend, must_swab, pentry); + ret = load_elf32(fd, virt_to_phys_addend, must_swab, pentry, + lowaddr, highaddr); } close(fd); |