All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 0/2] Allow building EFI binaries on x86_64
@ 2018-05-18 17:12 Heinrich Schuchardt
  2018-05-18 17:12 ` [U-Boot] [PATCH 1/2] efi_selftest: allow building relocation code " Heinrich Schuchardt
  2018-05-18 17:12 ` [U-Boot] [PATCH 2/2] efi_loader: build CRT0 and RELOC " Heinrich Schuchardt
  0 siblings, 2 replies; 6+ messages in thread
From: Heinrich Schuchardt @ 2018-05-18 17:12 UTC (permalink / raw)
  To: u-boot

With the patch series EFI binaries needed for the EFI selftests can be
built on x86_64.

But we still lack setjmp support so we cannot activate the StartImage
selftest.

We should handle this series via Alex's efi-next tree.

Heinrich Schuchardt (2):
  efi_selftest: allow building relocation code on x86_64
  efi_loader: build CRT0 and RELOC on x86_64

 arch/x86/config.mk    | 20 ++++++++++++++++----
 arch/x86/lib/Makefile | 12 +++++++++++-
 2 files changed, 27 insertions(+), 5 deletions(-)

-- 
2.17.0

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] [PATCH 1/2] efi_selftest: allow building relocation code on x86_64
  2018-05-18 17:12 [U-Boot] [PATCH 0/2] Allow building EFI binaries on x86_64 Heinrich Schuchardt
@ 2018-05-18 17:12 ` Heinrich Schuchardt
  2018-05-22 23:29   ` Simon Glass
  2018-05-18 17:12 ` [U-Boot] [PATCH 2/2] efi_loader: build CRT0 and RELOC " Heinrich Schuchardt
  1 sibling, 1 reply; 6+ messages in thread
From: Heinrich Schuchardt @ 2018-05-18 17:12 UTC (permalink / raw)
  To: u-boot

Variables EFI_RELOC and EFI_CRT0 have to be defined to build the
EFI unit tests. This patch ensures this for the x86 architecure.

If we compile with EFI_STUB, the bitness depends on CONFIG_EFI_STUB_64BIT.
Otherwise the bitness depends on CONFIG_X86_64.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---
 arch/x86/config.mk | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/arch/x86/config.mk b/arch/x86/config.mk
index 97db03deeed..5f77f98e60a 100644
--- a/arch/x86/config.mk
+++ b/arch/x86/config.mk
@@ -86,9 +86,9 @@ else
 PLATFORM_CPPFLAGS += -D__I386__
 endif
 
-ifneq ($(CONFIG_EFI_STUB)$(CONFIG_CMD_BOOTEFI_HELLO_COMPILE),)
+ifdef CONFIG_EFI_STUB
 
-ifneq ($(CONFIG_EFI_STUB_64BIT),)
+ifdef CONFIG_EFI_STUB_64BIT
 EFI_LDS := elf_x86_64_efi.lds
 EFI_CRT0 := crt0_x86_64_efi.o
 EFI_RELOC := reloc_x86_64_efi.o
@@ -98,10 +98,22 @@ EFI_CRT0 := crt0_ia32_efi.o
 EFI_RELOC := reloc_ia32_efi.o
 endif
 
+else
+
 ifdef CONFIG_X86_64
-EFI_TARGET := --target=efi-app-x86_64
+EFI_LDS := elf_x86_64_efi.lds
+EFI_CRT0 := crt0_x86_64_efi.o
+EFI_RELOC := reloc_x86_64_efi.o
 else
-EFI_TARGET := --target=efi-app-ia32
+EFI_LDS := elf_ia32_efi.lds
+EFI_CRT0 := crt0_ia32_efi.o
+EFI_RELOC := reloc_ia32_efi.o
+endif
+
 endif
 
+ifdef CONFIG_X86_64
+EFI_TARGET := --target=efi-app-x86_64
+else
+EFI_TARGET := --target=efi-app-ia32
 endif
-- 
2.17.0

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [U-Boot] [PATCH 2/2] efi_loader: build CRT0 and RELOC on x86_64
  2018-05-18 17:12 [U-Boot] [PATCH 0/2] Allow building EFI binaries on x86_64 Heinrich Schuchardt
  2018-05-18 17:12 ` [U-Boot] [PATCH 1/2] efi_selftest: allow building relocation code " Heinrich Schuchardt
@ 2018-05-18 17:12 ` Heinrich Schuchardt
  2018-05-22 23:29   ` Simon Glass
  2018-05-26 12:05   ` Tuomas Tynkkynen
  1 sibling, 2 replies; 6+ messages in thread
From: Heinrich Schuchardt @ 2018-05-18 17:12 UTC (permalink / raw)
  To: u-boot

The efi selftest and the hello application require CRT0 and RELOC to be
built.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---
 arch/x86/lib/Makefile | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/arch/x86/lib/Makefile b/arch/x86/lib/Makefile
index 51d451f9522..5a64f6eddc7 100644
--- a/arch/x86/lib/Makefile
+++ b/arch/x86/lib/Makefile
@@ -68,8 +68,18 @@ extra-$(CONFIG_EFI_STUB_64BIT) += crt0_x86_64_efi.o reloc_x86_64_efi.o
 
 endif
 
-ifneq ($(CONFIG_EFI_STUB)$(CONFIG_CMD_BOOTEFI_HELLO_COMPILE),)
+ifdef CONFIG_EFI_STUB
+
 ifeq ($(CONFIG_$(SPL_)X86_64),)
 extra-y += $(EFI_CRT0) $(EFI_RELOC)
 endif
+
+else
+
+ifndef CONFIG_SPL_BUILD
+ifneq ($(CONFIG_CMD_BOOTEFI_SELFTEST)$(CONFIG_CMD_BOOTEFI_HELLO_COMPILE),)
+extra-y += $(EFI_CRT0) $(EFI_RELOC)
+endif
+endif
+
 endif
-- 
2.17.0

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [U-Boot] [PATCH 1/2] efi_selftest: allow building relocation code on x86_64
  2018-05-18 17:12 ` [U-Boot] [PATCH 1/2] efi_selftest: allow building relocation code " Heinrich Schuchardt
@ 2018-05-22 23:29   ` Simon Glass
  0 siblings, 0 replies; 6+ messages in thread
From: Simon Glass @ 2018-05-22 23:29 UTC (permalink / raw)
  To: u-boot

On 18 May 2018 at 11:12, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote:
> Variables EFI_RELOC and EFI_CRT0 have to be defined to build the
> EFI unit tests. This patch ensures this for the x86 architecure.
>
> If we compile with EFI_STUB, the bitness depends on CONFIG_EFI_STUB_64BIT.
> Otherwise the bitness depends on CONFIG_X86_64.
>
> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
> ---
>  arch/x86/config.mk | 20 ++++++++++++++++----
>  1 file changed, 16 insertions(+), 4 deletions(-)

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] [PATCH 2/2] efi_loader: build CRT0 and RELOC on x86_64
  2018-05-18 17:12 ` [U-Boot] [PATCH 2/2] efi_loader: build CRT0 and RELOC " Heinrich Schuchardt
@ 2018-05-22 23:29   ` Simon Glass
  2018-05-26 12:05   ` Tuomas Tynkkynen
  1 sibling, 0 replies; 6+ messages in thread
From: Simon Glass @ 2018-05-22 23:29 UTC (permalink / raw)
  To: u-boot

On 18 May 2018 at 11:12, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote:
> The efi selftest and the hello application require CRT0 and RELOC to be
> built.
>
> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
> ---
>  arch/x86/lib/Makefile | 12 +++++++++++-
>  1 file changed, 11 insertions(+), 1 deletion(-)
>

Reviewed-by: Simon Glass <sjg@chromium.org>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] [PATCH 2/2] efi_loader: build CRT0 and RELOC on x86_64
  2018-05-18 17:12 ` [U-Boot] [PATCH 2/2] efi_loader: build CRT0 and RELOC " Heinrich Schuchardt
  2018-05-22 23:29   ` Simon Glass
@ 2018-05-26 12:05   ` Tuomas Tynkkynen
  1 sibling, 0 replies; 6+ messages in thread
From: Tuomas Tynkkynen @ 2018-05-26 12:05 UTC (permalink / raw)
  To: u-boot

Hi,

On Fri, 18 May 2018 19:12:20 +0200
Heinrich Schuchardt <xypron.glpk@gmx.de> wrote:

> The efi selftest and the hello application require CRT0 and RELOC to be
> built.
> 
> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
> ---

While we're on the topic of EFI_CRT0 and EFI_RELOC, does anybody
happen to have an idea on how to fix parallel build failures
due to helloworld.efi getting built before EFI_{CRT0,RELOC}?
I've reported it previously at:

https://lists.denx.de/pipermail/u-boot/2018-March/323624.html

Pretty please? :)

Thanks,
Tuomas

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2018-05-26 12:05 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-18 17:12 [U-Boot] [PATCH 0/2] Allow building EFI binaries on x86_64 Heinrich Schuchardt
2018-05-18 17:12 ` [U-Boot] [PATCH 1/2] efi_selftest: allow building relocation code " Heinrich Schuchardt
2018-05-22 23:29   ` Simon Glass
2018-05-18 17:12 ` [U-Boot] [PATCH 2/2] efi_loader: build CRT0 and RELOC " Heinrich Schuchardt
2018-05-22 23:29   ` Simon Glass
2018-05-26 12:05   ` Tuomas Tynkkynen

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.