Re: [U-Boot] [PATCH 3/6] arm: efi: Add a hello world test program
Hi Leif, On 20 October 2016 at 02:19, Leif Lindholmwrote: > On 19 October 2016 at 21:22, Leif Lindholm wrote: >> On Mon, Oct 17, 2016 at 07:55:02PM -0600, Simon Glass wrote: >>> Hi Leif, >>> >>> On 26 September 2016 at 19:53, Leif Lindholm >>> wrote: >>> >> Thanks for the pointer. Unfortunately that patch appears to make no >>> >> differences for me. Are you able to build and send me a 64-bit >>> >> HelloWorld.efi please? >>> > >>> > So, I probably could, but if that isn't working for you, I'd quite >>> > like to know why. >>> > >>> > To make that a little less painful though, I've added support for >>> > building the helloworld app to my set of scripts: >>> > https://git.linaro.org/uefi/uefi-tools.git >>> > >>> > This still depends on this (updated) patch. >>> > https://lists.01.org/pipermail/edk2-devel/2016-September/002112.html >>> > >>> > But with a current edk2, and a uefi-tools placed in the same directory >>> > as the edk2 clone, could you try executing: >>> > >>> > ../uefi-tools/uefi-build.sh -A AARCH64 hello >>> > >>> > If the build fails and creates messy output due to being parallel, >>> > could you stick a -1 on that command line and send me the output (or >>> > pastebin)? >>> >>> OK thanks. Please see: >>> >>> http://pastebin.com/DmixdA4C >> >> Right ... so your terminal appears to be discarding stderr, but I'm >> guessing with that enabled it would look like: >> --- >> Processing meta-data .. >> >> build.py... >> /work/git/edk2/MdeModulePkg/MdeModulePkg.dsc(...): error 4000: Instance of >> library class [ArmMmuLib] is not found >> in [/work/git/edk2/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf] [AARCH64] >> consumed by module >> [/work/git/edk2/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf] >> >> >> - Failed - >> Build end time: 16:51:18, Oct.19 2016 >> Build total time: 00:00:03 >> --- >> >> Which is what it looks without the aforementioned patch applied. I really thought I applied it. But I don't understand the UEFI build system at all... > > As a follow-up: I have now pushed the required patch to edk2, so with > a fresh pull it should work without any manually added patches. I think I'm going to build a simple hello world within the U-Boot tree, to avoiding needing to package a binary. Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 3/6] arm: efi: Add a hello world test program
On 19 October 2016 at 21:22, Leif Lindholmwrote: > On Mon, Oct 17, 2016 at 07:55:02PM -0600, Simon Glass wrote: >> Hi Leif, >> >> On 26 September 2016 at 19:53, Leif Lindholm >> wrote: >> >> Thanks for the pointer. Unfortunately that patch appears to make no >> >> differences for me. Are you able to build and send me a 64-bit >> >> HelloWorld.efi please? >> > >> > So, I probably could, but if that isn't working for you, I'd quite >> > like to know why. >> > >> > To make that a little less painful though, I've added support for >> > building the helloworld app to my set of scripts: >> > https://git.linaro.org/uefi/uefi-tools.git >> > >> > This still depends on this (updated) patch. >> > https://lists.01.org/pipermail/edk2-devel/2016-September/002112.html >> > >> > But with a current edk2, and a uefi-tools placed in the same directory >> > as the edk2 clone, could you try executing: >> > >> > ../uefi-tools/uefi-build.sh -A AARCH64 hello >> > >> > If the build fails and creates messy output due to being parallel, >> > could you stick a -1 on that command line and send me the output (or >> > pastebin)? >> >> OK thanks. Please see: >> >> http://pastebin.com/DmixdA4C > > Right ... so your terminal appears to be discarding stderr, but I'm > guessing with that enabled it would look like: > --- > Processing meta-data .. > > build.py... > /work/git/edk2/MdeModulePkg/MdeModulePkg.dsc(...): error 4000: Instance of > library class [ArmMmuLib] is not found > in [/work/git/edk2/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf] [AARCH64] > consumed by module > [/work/git/edk2/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf] > > > - Failed - > Build end time: 16:51:18, Oct.19 2016 > Build total time: 00:00:03 > --- > > Which is what it looks without the aforementioned patch applied. As a follow-up: I have now pushed the required patch to edk2, so with a fresh pull it should work without any manually added patches. / Leif ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 3/6] arm: efi: Add a hello world test program
On Mon, Oct 17, 2016 at 07:55:02PM -0600, Simon Glass wrote: > Hi Leif, > > On 26 September 2016 at 19:53, Leif Lindholmwrote: > >> Thanks for the pointer. Unfortunately that patch appears to make no > >> differences for me. Are you able to build and send me a 64-bit > >> HelloWorld.efi please? > > > > So, I probably could, but if that isn't working for you, I'd quite > > like to know why. > > > > To make that a little less painful though, I've added support for > > building the helloworld app to my set of scripts: > > https://git.linaro.org/uefi/uefi-tools.git > > > > This still depends on this (updated) patch. > > https://lists.01.org/pipermail/edk2-devel/2016-September/002112.html > > > > But with a current edk2, and a uefi-tools placed in the same directory > > as the edk2 clone, could you try executing: > > > > ../uefi-tools/uefi-build.sh -A AARCH64 hello > > > > If the build fails and creates messy output due to being parallel, > > could you stick a -1 on that command line and send me the output (or > > pastebin)? > > OK thanks. Please see: > > http://pastebin.com/DmixdA4C Right ... so your terminal appears to be discarding stderr, but I'm guessing with that enabled it would look like: --- Processing meta-data .. build.py... /work/git/edk2/MdeModulePkg/MdeModulePkg.dsc(...): error 4000: Instance of library class [ArmMmuLib] is not found in [/work/git/edk2/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf] [AARCH64] consumed by module [/work/git/edk2/MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf] - Failed - Build end time: 16:51:18, Oct.19 2016 Build total time: 00:00:03 --- Which is what it looks without the aforementioned patch applied. (But the no error messages thing really spooks me.) / Leif ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 3/6] arm: efi: Add a hello world test program
Hi Leif, On 26 September 2016 at 19:53, Leif Lindholmwrote: > > On Mon, Sep 26, 2016 at 08:09:40AM -0600, Simon Glass wrote: >> >> >> If so, can we just remove this for arm64? >> >> > >> >> > Actually I was hoping that Alexander might have a suitable arm64 >> >> > HelloWorld.efi lying around. When I tried building UEFI for arm64, for >> >> > some reason it did not create it. >> >> >> >> Is it part of edk2? If so, Leif (CC'ed) might have one :). I usually >> >> use grub as my hello world application. >> > >> > There is a hello world application in EDK2, but it does not get built >> > as part of a normal platform build. >> > Currently it also fails to build for ARM* on its own :| >> > See >> > http://patchew.org/EDK2/1471021908-3509-1-git-send-email-leif.lindholm%40linaro.org/ >> > for a hack of how to build one before upstream is resolved. >> > >> > If cross compiling, prepend GCC5_AARCH64_PREFIX=aarch64-linux-gnu- to >> > build command line. >> >> Thanks for the pointer. Unfortunately that patch appears to make no >> differences for me. Are you able to build and send me a 64-bit >> HelloWorld.efi please? > > So, I probably could, but if that isn't working for you, I'd quite > like to know why. > > To make that a little less painful though, I've added support for > building the helloworld app to my set of scripts: > https://git.linaro.org/uefi/uefi-tools.git > > This still depends on this (updated) patch. > https://lists.01.org/pipermail/edk2-devel/2016-September/002112.html > > But with a current edk2, and a uefi-tools placed in the same directory > as the edk2 clone, could you try executing: > > ../uefi-tools/uefi-build.sh -A AARCH64 hello > > If the build fails and creates messy output due to being parallel, > could you stick a -1 on that command line and send me the output (or > pastebin)? OK thanks. Please see: http://pastebin.com/DmixdA4C Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 3/6] arm: efi: Add a hello world test program
On Mon, Sep 26, 2016 at 08:09:40AM -0600, Simon Glass wrote: > >> >> If so, can we just remove this for arm64? > >> > > >> > Actually I was hoping that Alexander might have a suitable arm64 > >> > HelloWorld.efi lying around. When I tried building UEFI for arm64, for > >> > some reason it did not create it. > >> > >> Is it part of edk2? If so, Leif (CC'ed) might have one :). I usually > >> use grub as my hello world application. > > > > There is a hello world application in EDK2, but it does not get built > > as part of a normal platform build. > > Currently it also fails to build for ARM* on its own :| > > See > > http://patchew.org/EDK2/1471021908-3509-1-git-send-email-leif.lindholm%40linaro.org/ > > for a hack of how to build one before upstream is resolved. > > > > If cross compiling, prepend GCC5_AARCH64_PREFIX=aarch64-linux-gnu- to > > build command line. > > Thanks for the pointer. Unfortunately that patch appears to make no > differences for me. Are you able to build and send me a 64-bit > HelloWorld.efi please? So, I probably could, but if that isn't working for you, I'd quite like to know why. To make that a little less painful though, I've added support for building the helloworld app to my set of scripts: https://git.linaro.org/uefi/uefi-tools.git This still depends on this (updated) patch. https://lists.01.org/pipermail/edk2-devel/2016-September/002112.html But with a current edk2, and a uefi-tools placed in the same directory as the edk2 clone, could you try executing: ../uefi-tools/uefi-build.sh -A AARCH64 hello If the build fails and creates messy output due to being parallel, could you stick a -1 on that command line and send me the output (or pastebin)? / Leif ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 3/6] arm: efi: Add a hello world test program
Hi Leif, On 15 August 2016 at 06:23, Leif Lindholmwrote: > On Tue, Aug 09, 2016 at 10:55:31PM +0200, Alexander Graf wrote: >> >> >> > Am 09.08.2016 um 20:16 schrieb Simon Glass : >> > >> > Hi Bin, >> > >> >> On 9 August 2016 at 00:50, Bin Meng wrote: >> >> Hi Simon, >> >> >> >>> On Sun, Aug 7, 2016 at 7:23 AM, Simon Glass wrote: >> >>> It is useful to have a basic sanity check for EFI loader support. Add a >> >>> 'bootefi hello' command which loads HelloWord.efi and runs it under >> >>> U-Boot. >> >>> >> >>> Signed-off-by: Simon Glass >> >>> --- >> >>> >> >>> arch/arm/lib/HelloWorld32.efi | Bin 0 -> 11712 bytes >> >>> arch/arm/lib/Makefile | 6 ++ >> >>> cmd/Kconfig| 10 ++ >> >>> cmd/bootefi.c | 26 -- >> >>> include/asm-generic/sections.h | 2 ++ >> >>> scripts/Makefile.lib | 19 +++ >> >>> 6 files changed, 57 insertions(+), 6 deletions(-) >> >>> create mode 100644 arch/arm/lib/HelloWorld32.efi >> >> >> >> [snip] >> >> >> >>> diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile >> >>> index a8d1557..0f3ea0c 100644 >> >>> --- a/arch/arm/lib/Makefile >> >>> +++ b/arch/arm/lib/Makefile >> >>> @@ -29,6 +29,12 @@ obj-$(CONFIG_OF_LIBFDT) += bootm-fdt.o >> >>> obj-$(CONFIG_CMD_BOOTM) += bootm.o >> >>> obj-$(CONFIG_CMD_BOOTM) += zimage.o >> >>> obj-$(CONFIG_SYS_L2_PL310) += cache-pl310.o >> >>> +ifdef CONFIG_ARM64 >> >>> +# This option does not work for arm64, as there is no binary. >> >> >> >> If so, can we just remove this for arm64? >> > >> > Actually I was hoping that Alexander might have a suitable arm64 >> > HelloWorld.efi lying around. When I tried building UEFI for arm64, for >> > some reason it did not create it. >> >> Is it part of edk2? If so, Leif (CC'ed) might have one :). I usually >> use grub as my hello world application. > > There is a hello world application in EDK2, but it does not get built > as part of a normal platform build. > Currently it also fails to build for ARM* on its own :| > See > http://patchew.org/EDK2/1471021908-3509-1-git-send-email-leif.lindholm%40linaro.org/ > for a hack of how to build one before upstream is resolved. > > If cross compiling, prepend GCC5_AARCH64_PREFIX=aarch64-linux-gnu- to > build command line. Thanks for the pointer. Unfortunately that patch appears to make no differences for me. Are you able to build and send me a 64-bit HelloWorld.efi please? > > / > Leif Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 3/6] arm: efi: Add a hello world test program
On Tue, Aug 09, 2016 at 10:55:31PM +0200, Alexander Graf wrote: > > > > Am 09.08.2016 um 20:16 schrieb Simon Glass: > > > > Hi Bin, > > > >> On 9 August 2016 at 00:50, Bin Meng wrote: > >> Hi Simon, > >> > >>> On Sun, Aug 7, 2016 at 7:23 AM, Simon Glass wrote: > >>> It is useful to have a basic sanity check for EFI loader support. Add a > >>> 'bootefi hello' command which loads HelloWord.efi and runs it under > >>> U-Boot. > >>> > >>> Signed-off-by: Simon Glass > >>> --- > >>> > >>> arch/arm/lib/HelloWorld32.efi | Bin 0 -> 11712 bytes > >>> arch/arm/lib/Makefile | 6 ++ > >>> cmd/Kconfig| 10 ++ > >>> cmd/bootefi.c | 26 -- > >>> include/asm-generic/sections.h | 2 ++ > >>> scripts/Makefile.lib | 19 +++ > >>> 6 files changed, 57 insertions(+), 6 deletions(-) > >>> create mode 100644 arch/arm/lib/HelloWorld32.efi > >> > >> [snip] > >> > >>> diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile > >>> index a8d1557..0f3ea0c 100644 > >>> --- a/arch/arm/lib/Makefile > >>> +++ b/arch/arm/lib/Makefile > >>> @@ -29,6 +29,12 @@ obj-$(CONFIG_OF_LIBFDT) += bootm-fdt.o > >>> obj-$(CONFIG_CMD_BOOTM) += bootm.o > >>> obj-$(CONFIG_CMD_BOOTM) += zimage.o > >>> obj-$(CONFIG_SYS_L2_PL310) += cache-pl310.o > >>> +ifdef CONFIG_ARM64 > >>> +# This option does not work for arm64, as there is no binary. > >> > >> If so, can we just remove this for arm64? > > > > Actually I was hoping that Alexander might have a suitable arm64 > > HelloWorld.efi lying around. When I tried building UEFI for arm64, for > > some reason it did not create it. > > Is it part of edk2? If so, Leif (CC'ed) might have one :). I usually > use grub as my hello world application. There is a hello world application in EDK2, but it does not get built as part of a normal platform build. Currently it also fails to build for ARM* on its own :| See http://patchew.org/EDK2/1471021908-3509-1-git-send-email-leif.lindholm%40linaro.org/ for a hack of how to build one before upstream is resolved. If cross compiling, prepend GCC5_AARCH64_PREFIX=aarch64-linux-gnu- to build command line. / Leif ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 3/6] arm: efi: Add a hello world test program
> Am 09.08.2016 um 20:16 schrieb Simon Glass: > > Hi Bin, > >> On 9 August 2016 at 00:50, Bin Meng wrote: >> Hi Simon, >> >>> On Sun, Aug 7, 2016 at 7:23 AM, Simon Glass wrote: >>> It is useful to have a basic sanity check for EFI loader support. Add a >>> 'bootefi hello' command which loads HelloWord.efi and runs it under U-Boot. >>> >>> Signed-off-by: Simon Glass >>> --- >>> >>> arch/arm/lib/HelloWorld32.efi | Bin 0 -> 11712 bytes >>> arch/arm/lib/Makefile | 6 ++ >>> cmd/Kconfig| 10 ++ >>> cmd/bootefi.c | 26 -- >>> include/asm-generic/sections.h | 2 ++ >>> scripts/Makefile.lib | 19 +++ >>> 6 files changed, 57 insertions(+), 6 deletions(-) >>> create mode 100644 arch/arm/lib/HelloWorld32.efi >> >> [snip] >> >>> diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile >>> index a8d1557..0f3ea0c 100644 >>> --- a/arch/arm/lib/Makefile >>> +++ b/arch/arm/lib/Makefile >>> @@ -29,6 +29,12 @@ obj-$(CONFIG_OF_LIBFDT) += bootm-fdt.o >>> obj-$(CONFIG_CMD_BOOTM) += bootm.o >>> obj-$(CONFIG_CMD_BOOTM) += zimage.o >>> obj-$(CONFIG_SYS_L2_PL310) += cache-pl310.o >>> +ifdef CONFIG_ARM64 >>> +# This option does not work for arm64, as there is no binary. >> >> If so, can we just remove this for arm64? > > Actually I was hoping that Alexander might have a suitable arm64 > HelloWorld.efi lying around. When I tried building UEFI for arm64, for > some reason it did not create it. Is it part of edk2? If so, Leif (CC'ed) might have one :). I usually use grub as my hello world application. Alex ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 3/6] arm: efi: Add a hello world test program
Hi Bin, On 9 August 2016 at 00:50, Bin Mengwrote: > Hi Simon, > > On Sun, Aug 7, 2016 at 7:23 AM, Simon Glass wrote: >> It is useful to have a basic sanity check for EFI loader support. Add a >> 'bootefi hello' command which loads HelloWord.efi and runs it under U-Boot. >> >> Signed-off-by: Simon Glass >> --- >> >> arch/arm/lib/HelloWorld32.efi | Bin 0 -> 11712 bytes >> arch/arm/lib/Makefile | 6 ++ >> cmd/Kconfig| 10 ++ >> cmd/bootefi.c | 26 -- >> include/asm-generic/sections.h | 2 ++ >> scripts/Makefile.lib | 19 +++ >> 6 files changed, 57 insertions(+), 6 deletions(-) >> create mode 100644 arch/arm/lib/HelloWorld32.efi >> > > [snip] > >> diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile >> index a8d1557..0f3ea0c 100644 >> --- a/arch/arm/lib/Makefile >> +++ b/arch/arm/lib/Makefile >> @@ -29,6 +29,12 @@ obj-$(CONFIG_OF_LIBFDT) += bootm-fdt.o >> obj-$(CONFIG_CMD_BOOTM) += bootm.o >> obj-$(CONFIG_CMD_BOOTM) += zimage.o >> obj-$(CONFIG_SYS_L2_PL310) += cache-pl310.o >> +ifdef CONFIG_ARM64 >> +# This option does not work for arm64, as there is no binary. > > If so, can we just remove this for arm64? Actually I was hoping that Alexander might have a suitable arm64 HelloWorld.efi lying around. When I tried building UEFI for arm64, for some reason it did not create it. > >> +obj-$(CONFIG_CMD_BOOTEFI_HELLO) += HelloWorld64.o >> +else >> +obj-$(CONFIG_CMD_BOOTEFI_HELLO) += HelloWorld32.o >> +endif >> obj-$(CONFIG_USE_ARCH_MEMSET) += memset.o >> obj-$(CONFIG_USE_ARCH_MEMCPY) += memcpy.o >> else [...] Regards, Simon ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] [PATCH 3/6] arm: efi: Add a hello world test program
Hi Simon, On Sun, Aug 7, 2016 at 7:23 AM, Simon Glasswrote: > It is useful to have a basic sanity check for EFI loader support. Add a > 'bootefi hello' command which loads HelloWord.efi and runs it under U-Boot. > > Signed-off-by: Simon Glass > --- > > arch/arm/lib/HelloWorld32.efi | Bin 0 -> 11712 bytes > arch/arm/lib/Makefile | 6 ++ > cmd/Kconfig| 10 ++ > cmd/bootefi.c | 26 -- > include/asm-generic/sections.h | 2 ++ > scripts/Makefile.lib | 19 +++ > 6 files changed, 57 insertions(+), 6 deletions(-) > create mode 100644 arch/arm/lib/HelloWorld32.efi > [snip] > diff --git a/arch/arm/lib/Makefile b/arch/arm/lib/Makefile > index a8d1557..0f3ea0c 100644 > --- a/arch/arm/lib/Makefile > +++ b/arch/arm/lib/Makefile > @@ -29,6 +29,12 @@ obj-$(CONFIG_OF_LIBFDT) += bootm-fdt.o > obj-$(CONFIG_CMD_BOOTM) += bootm.o > obj-$(CONFIG_CMD_BOOTM) += zimage.o > obj-$(CONFIG_SYS_L2_PL310) += cache-pl310.o > +ifdef CONFIG_ARM64 > +# This option does not work for arm64, as there is no binary. If so, can we just remove this for arm64? > +obj-$(CONFIG_CMD_BOOTEFI_HELLO) += HelloWorld64.o > +else > +obj-$(CONFIG_CMD_BOOTEFI_HELLO) += HelloWorld32.o > +endif > obj-$(CONFIG_USE_ARCH_MEMSET) += memset.o > obj-$(CONFIG_USE_ARCH_MEMCPY) += memcpy.o > else > diff --git a/cmd/Kconfig b/cmd/Kconfig > index d69b817..8df80b6 100644 > --- a/cmd/Kconfig > +++ b/cmd/Kconfig > @@ -172,6 +172,16 @@ config CMD_BOOTEFI > help > Boot an EFI image from memory. > > +config CMD_BOOTEFI_HELLO > + bool "Allow booting a standard EFI hello word for testing" > + depends on CMD_BOOTEFI > + default y if CMD_BOOTEFI && !ARM64 > + help > + This adds a standard EFI hello world application to U-Boot so that > + it can be used with the 'bootefi hello' command. This is useful > + for testing that EFI is woring at a basic level, and for brining typo: working, bringing > + up EFI support on a new architecture. > + > config CMD_ELF > bool "bootelf, bootvx" > default y > diff --git a/cmd/bootefi.c b/cmd/bootefi.c > index 0536b63..ecf9968 100644 > --- a/cmd/bootefi.c > +++ b/cmd/bootefi.c > @@ -229,13 +229,22 @@ static int do_bootefi(cmd_tbl_t *cmdtp, int flag, int > argc, char * const argv[]) > > if (argc < 2) > return 1; > - saddr = argv[1]; > +#ifdef CONFIG_CMD_BOOTEFI_HELLO > + if (!strcmp(argv[1], "hello")) { > + addr = CONFIG_SYS_LOAD_ADDR; > + memcpy((char *)addr, __efi_hello_world_begin, > + __efi_hello_world_end - __efi_hello_world_begin); > + } else > +#endif > + { > + saddr = argv[1]; > > - addr = simple_strtoul(saddr, NULL, 16); > + addr = simple_strtoul(saddr, NULL, 16); > > - if (argc > 2) { > - sfdt = argv[2]; > - fdt_addr = simple_strtoul(sfdt, NULL, 16); > + if (argc > 2) { > + sfdt = argv[2]; > + fdt_addr = simple_strtoul(sfdt, NULL, 16); > + } > } > > printf("## Starting EFI application at 0x%08lx ...\n", addr); > @@ -253,7 +262,12 @@ static char bootefi_help_text[] = > " [fdt address]\n" > " - boot EFI payload stored at address .\n" > "If specified, the device tree located at gets\n" > - "exposed as EFI configuration table.\n"; > + "exposed as EFI configuration table.\n" > +#ifdef CONFIG_CMD_BOOTEFI_HELLO > + "hello\n" > + " - boot a sample Hello Word application stored within U-Boot" typo: World > +#endif > + ; > #endif > > U_BOOT_CMD( > diff --git a/include/asm-generic/sections.h b/include/asm-generic/sections.h > index 328bc62..54ccac9 100644 > --- a/include/asm-generic/sections.h > +++ b/include/asm-generic/sections.h > @@ -22,6 +22,8 @@ extern char __kprobes_text_start[], __kprobes_text_end[]; > extern char __entry_text_start[], __entry_text_end[]; > extern char __initdata_begin[], __initdata_end[]; > extern char __start_rodata[], __end_rodata[]; > +extern char __efi_hello_world_begin[]; > +extern char __efi_hello_world_end[]; > > /* Start and end of .ctors section - used for constructor calls. */ > extern char __ctors_start[], __ctors_end[]; > diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib > index e720562..07469f0 100644 > --- a/scripts/Makefile.lib > +++ b/scripts/Makefile.lib > @@ -321,6 +321,25 @@ cmd_S_ttf= \ > $(obj)/%.S: $(src)/%.ttf > $(call cmd,S_ttf) > > +# EFI Hello World application > +# --- > + > +# Generate an assembly file to wrap the EFI app > +cmd_S_efi= \ > +(