]> git.ipfire.org Git - people/ms/u-boot.git/commit - lib/efi_loader/efi_bootmgr.c
efi_loader: add bootmgr
authorRob Clark <robdclark@gmail.com>
Wed, 13 Sep 2017 22:05:38 +0000 (18:05 -0400)
committerAlexander Graf <agraf@suse.de>
Wed, 20 Sep 2017 09:08:01 +0000 (11:08 +0200)
commit9975fe96b697b6d64bde3f77cd08612fec812b47
treee246223b20ba06aeddbe83b7a159f1b6285a40f6
parentad644e7c18238026fecc647f62584d87d2c5b0a3
efi_loader: add bootmgr

Similar to a "real" UEFI implementation, the bootmgr looks at the
BootOrder and BootXXXX variables to try to find an EFI payload to load
and boot.  This is added as a sub-command of bootefi.

The idea is that the distro bootcmd would first try loading a payload
via the bootmgr, and then if that fails (ie. first boot or corrupted
EFI variables) it would fallback to loading bootaa64.efi.  (Which
would then load fallback.efi which would look for \EFI\*\boot.csv and
populate BootOrder and BootXXXX based on what it found.)

Signed-off-by: Rob Clark <robdclark@gmail.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
cmd/bootefi.c
include/config_distro_bootcmd.h
include/efi_api.h
include/efi_loader.h
lib/efi_loader/Makefile
lib/efi_loader/efi_bootmgr.c [new file with mode: 0644]
lib/efi_loader/efi_boottime.c
lib/efi_loader/efi_image_loader.c