mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-11 07:34:31 +00:00
efi_loader: set IMAGE_FILE_LARGE_ADDRESS_AWARE
For the 64bit EFI binaries that we create set the IMAGE_FILE_LARGE_ADDRESS_AWARE characteristic in the PE-COFF header to indicate that they can handle addresses above 2 GiB. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
This commit is contained in:
parent
c33d389c7a
commit
3ec07c99d8
2 changed files with 13 additions and 5 deletions
|
@ -34,6 +34,7 @@ coff_header:
|
||||||
.short (IMAGE_FILE_EXECUTABLE_IMAGE | \
|
.short (IMAGE_FILE_EXECUTABLE_IMAGE | \
|
||||||
IMAGE_FILE_LINE_NUMS_STRIPPED | \
|
IMAGE_FILE_LINE_NUMS_STRIPPED | \
|
||||||
IMAGE_FILE_LOCAL_SYMS_STRIPPED | \
|
IMAGE_FILE_LOCAL_SYMS_STRIPPED | \
|
||||||
|
IMAGE_FILE_LARGE_ADDRESS_AWARE | \
|
||||||
IMAGE_FILE_DEBUG_STRIPPED)
|
IMAGE_FILE_DEBUG_STRIPPED)
|
||||||
optional_header:
|
optional_header:
|
||||||
.short IMAGE_NT_OPTIONAL_HDR64_MAGIC /* PE32+ format */
|
.short IMAGE_NT_OPTIONAL_HDR64_MAGIC /* PE32+ format */
|
||||||
|
|
|
@ -16,12 +16,23 @@
|
||||||
#define LOAD_LONG(reg, idx) ld reg, (idx*SIZE_LONG)(sp)
|
#define LOAD_LONG(reg, idx) ld reg, (idx*SIZE_LONG)(sp)
|
||||||
#define PE_MACHINE IMAGE_FILE_MACHINE_RISCV64
|
#define PE_MACHINE IMAGE_FILE_MACHINE_RISCV64
|
||||||
#define PE_MAGIC IMAGE_NT_OPTIONAL_HDR64_MAGIC
|
#define PE_MAGIC IMAGE_NT_OPTIONAL_HDR64_MAGIC
|
||||||
|
#define IMG_CHARACTERISTICS \
|
||||||
|
(IMAGE_FILE_EXECUTABLE_IMAGE | \
|
||||||
|
IMAGE_FILE_LINE_NUMS_STRIPPED | \
|
||||||
|
IMAGE_FILE_LOCAL_SYMS_STRIPPED | \
|
||||||
|
IMAGE_FILE_LARGE_ADDRESS_AWARE | \
|
||||||
|
IMAGE_FILE_DEBUG_STRIPPED)
|
||||||
#else
|
#else
|
||||||
#define SIZE_LONG 4
|
#define SIZE_LONG 4
|
||||||
#define SAVE_LONG(reg, idx) sw reg, (idx*SIZE_LONG)(sp)
|
#define SAVE_LONG(reg, idx) sw reg, (idx*SIZE_LONG)(sp)
|
||||||
#define LOAD_LONG(reg, idx) lw reg, (idx*SIZE_LONG)(sp)
|
#define LOAD_LONG(reg, idx) lw reg, (idx*SIZE_LONG)(sp)
|
||||||
#define PE_MACHINE IMAGE_FILE_MACHINE_RISCV32
|
#define PE_MACHINE IMAGE_FILE_MACHINE_RISCV32
|
||||||
#define PE_MAGIC IMAGE_NT_OPTIONAL_HDR32_MAGIC
|
#define PE_MAGIC IMAGE_NT_OPTIONAL_HDR32_MAGIC
|
||||||
|
#define IMG_CHARACTERISTICS \
|
||||||
|
(IMAGE_FILE_EXECUTABLE_IMAGE | \
|
||||||
|
IMAGE_FILE_LINE_NUMS_STRIPPED | \
|
||||||
|
IMAGE_FILE_LOCAL_SYMS_STRIPPED | \
|
||||||
|
IMAGE_FILE_DEBUG_STRIPPED)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
@ -47,11 +58,7 @@ coff_header:
|
||||||
.long 0 /* PointerToSymbolTable */
|
.long 0 /* PointerToSymbolTable */
|
||||||
.long 0 /* NumberOfSymbols */
|
.long 0 /* NumberOfSymbols */
|
||||||
.short section_table - optional_header /* SizeOfOptionalHeader */
|
.short section_table - optional_header /* SizeOfOptionalHeader */
|
||||||
/* Characteristics */
|
.short IMG_CHARACTERISTICS /* Characteristics */
|
||||||
.short (IMAGE_FILE_EXECUTABLE_IMAGE | \
|
|
||||||
IMAGE_FILE_LINE_NUMS_STRIPPED | \
|
|
||||||
IMAGE_FILE_LOCAL_SYMS_STRIPPED | \
|
|
||||||
IMAGE_FILE_DEBUG_STRIPPED)
|
|
||||||
optional_header:
|
optional_header:
|
||||||
.short PE_MAGIC /* PE32(+) format */
|
.short PE_MAGIC /* PE32(+) format */
|
||||||
.byte 0x02 /* MajorLinkerVersion */
|
.byte 0x02 /* MajorLinkerVersion */
|
||||||
|
|
Loading…
Reference in a new issue