8846189866
The ELF loader now uses a new platform function, platform_allocate_elf_region, which returns 2 addresses: the real load address and an address where the region is mapped in the loader's address space. All of the ELF loading code has been changed to access the load region through the mapped address rather than the addresses contained in the ELF image. The ELF64 version of platform_allocate_elf_region on x86 uses the existing MMU code, which maps everything at 0x80000000, but returns the correct 64-bit address. The long mode switch code will just set up the 64-bit address space with everything remapped at the correct address. |
||
---|---|---|
.. | ||
net | ||
platform | ||
addr_range.h | ||
arch.h | ||
bootdir.h | ||
disk_identifier.h | ||
driver_settings.h | ||
elf.h | ||
FileMapDisk.h | ||
heap.h | ||
images-sans-tm.h | ||
images-tm-development.h | ||
images-tm.h | ||
images.h | ||
kernel_args.h | ||
menu.h | ||
partitions.h | ||
platform.h | ||
stage2_args.h | ||
stage2.h | ||
stdio.h | ||
vfs.h |