Re: [U-Boot] [PATCH 3/6] arm: efi: Add a hello world test program

2016-11-07 Thread Simon Glass
Hi Leif,

On 20 October 2016 at 02:19, Leif Lindholm  wrote:
> 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

2016-10-20 Thread Leif Lindholm
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.

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

2016-10-19 Thread Leif Lindholm
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.

(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

2016-10-17 Thread Simon Glass
Hi Leif,

On 26 September 2016 at 19:53, Leif Lindholm  wrote:
>
> 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

2016-09-26 Thread Leif Lindholm

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

2016-09-26 Thread Simon Glass
Hi Leif,

On 15 August 2016 at 06:23, Leif Lindholm  wrote:
> 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

2016-08-15 Thread Leif Lindholm
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

2016-08-09 Thread Alexander Graf


> 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

2016-08-09 Thread 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.

>
>> +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

2016-08-09 Thread Bin Meng
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?

> +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= \
> +(