efi_loader: Add "bootefi" command

In order to execute an EFI application, we need to bridge the gap between
U-Boot's notion of executing images and EFI's notion of doing the same.

The best path forward IMHO here is to stick completely to the way U-Boot
deals with payloads. You manually load them using whatever method to RAM
and then have a simple boot command to execute them. So in our case, you
would do

  # load mmc 0:1 $loadaddr grub.efi
  # bootefi $loadaddr

which then gets you into a grub shell. Fdt information known to U-boot
via the fdt addr command is also passed to the EFI payload.

Signed-off-by: Alexander Graf <agraf@suse.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Tested-by: Simon Glass <sjg@chromium.org>
[trini: Guard help text with CONFIG_SYS_LONGHELP]
Signed-off-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
Alexander Graf
2016-03-10 00:27:20 +01:00
committed by Tom Rini
parent 2a22d05d33
commit b9939336d0
3 changed files with 190 additions and 0 deletions

View File

@@ -148,6 +148,13 @@ config CMD_BOOTM
help
Boot an application image from the memory.
config CMD_BOOTEFI
bool "bootefi"
depends on EFI_LOADER
default y
help
Boot an EFI image from memory.
config CMD_ELF
bool "bootelf, bootvx"
default y