From d08079c3d04f2b840f0e04218342e1404c92b177 Mon Sep 17 00:00:00 2001 From: bzt Date: Sun, 5 Jan 2020 14:03:22 +0100 Subject: [PATCH] Changed EFI PE subsystem per issue #4 --- bootboot.efi | Bin 94272 -> 77911 bytes bootboot.rom | Bin 94720 -> 78336 bytes x86_64-efi/Makefile | 2 +- x86_64-efi/efirom.c | 5 +++++ 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/bootboot.efi b/bootboot.efi index cbc20c4cd493dcc49ea179d06646e89d7a89aa36..6d0f0b52390011a83c91c91d867bb5f895336a37 100755 GIT binary patch delta 21891 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 delta 37915 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 UWn@$?R%^9Av;N|VYcpQv|7{>PuK)l5 diff --git a/bootboot.rom b/bootboot.rom index fad245dda943f92f1fd666bf76bcfc8d6ecfe77d..11cb290a8ff2df3177fd17a8d2328e85a7600f57 100644 GIT binary patch delta 21449 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 delta 37491 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

s@jdcd`Ymd?_g5jOeXZSuV&$7 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 diff --git a/x86_64-efi/Makefile b/x86_64-efi/Makefile index 7053bdf..c6fa3c6 100644 --- a/x86_64-efi/Makefile +++ b/x86_64-efi/Makefile @@ -14,7 +14,7 @@ all: tinflate.o $(TARGET) %.efi: %.so @echo " src x86_64-efi (UEFI)" - @objcopy -j .text -j .sdata -j .data -j .dynamic -j .dynsym -j .rel -j .rela -j .rel.* -j .rela.* -j .reloc --target efi-app-$(ARCH) --subsystem=13 $^ $@ + @objcopy -j .text -j .sdata -j .data -j .dynamic -j .dynsym -j .rel -j .rela -j .rel.* -j .rela.* -j .reloc --target efi-app-$(ARCH) --subsystem=10 $^ $@ @echo -n "BOOTBOOT Loader do not " | dd conv=notrunc of=$(TARGET) bs=1 seek=78 1>/dev/null 2>/dev/null @gcc $(GNUEFI_INCLUDES) -Wall -fshort-wchar efirom.c -o efirom $(LIBS) @./efirom $(TARGET) ../bootboot.rom || true diff --git a/x86_64-efi/efirom.c b/x86_64-efi/efirom.c index 56fd712..f3a65be 100644 --- a/x86_64-efi/efirom.c +++ b/x86_64-efi/efirom.c @@ -90,6 +90,11 @@ static void read_pe_info ( void *pe, uint16_t *machine, dos = pe; nt = ( pe + dos->e_lfanew ); + /* issue 4: TianoCore demands subsystem 10, so we must use EFI_APPLICATION + * in the PE header. Therefore we force EFI_ROM subsystem in this code here. */ + if(nt->nt64.OptionalHeader.Subsystem == 10) + nt->nt64.OptionalHeader.Subsystem = 13; + /* Parse out PE information */ *machine = nt->nt64.FileHeader.Machine; *subsystem = nt->nt64.OptionalHeader.Subsystem;