riscv: revert Complete efi header for RV32/64
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Sun, 9 Jan 2022 17:16:11 +0000 (18:16 +0100)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Sat, 15 Jan 2022 09:57:21 +0000 (10:57 +0100)
EDK II refuses to load the EFI binaries created by U-Boot.
The reason is an incorrect PE-COFF header. The number of
data directories does not match NumberOfRvaAndSizes.
This leads to a failed consistency check in
PeCoffLoaderGetPeHeader():

    SizeOfOptionalHeader - HeaderWithoutDataDir) !=
    NumberOfRvaAndSizes * sizeof(DATA_DIRECTORY))

Fixes: 9afaeec6ef8b ("riscv: Complete efi header for RV32/64")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
arch/riscv/lib/crt0_riscv_efi.S

index b0a7a39a7228dad65bc839ba467d83c0ebd8acce..3e62e8e67b0fb2549025bcf877583255e5904f50 100644 (file)
@@ -110,16 +110,6 @@ extra_header_fields:
        .quad   0                               /* ExceptionTable */
        .quad   0                               /* CertificationTable */
        .quad   0                               /* BaseRelocationTable */
-       .quad   0                               /* Debug */
-       .quad   0                               /* Architecture */
-       .quad   0                               /* Global Ptr */
-       .quad   0                               /* TLS Table */
-       .quad   0                               /* Load Config Table */
-       .quad   0                               /* Bound Import */
-       .quad   0                               /* IAT */
-       .quad   0                               /* Delay Import Descriptor */
-       .quad   0                               /* CLR Runtime Header */
-       .quad   0                               /* Reserved */
 
        /* Section table */
 section_table: