A limitation of the EFI loader at present is that it does not build with sandbox. This makes it hard to write tests, since sandbox is used for most testing in U-Boot.
This series enables the EFI loader feature. It allows sandbox to build and run a trivial function which calls the EFI API to output a message. Much work remains but this should serve as a basis for adding tests more easily for EFI loader. This series sits on top of Heinrich's recent EFI test series. It is available at u-boot-dm/efi-working Changes in v2: - Update return type of efi_smbios_register() to efi_status_t - Use return value of efi_install_configuration_table - Change return type of efi_init_obj_list() to efi_status_t - Update commit message to dropping libfdt_env.h - Update to use mapmem instead of a cast - Rebase to master Simon Glass (16): efi: Update efi_smbios_register() to return error code efi: Move the init check inside efi_init_obj_list() efi: Add error checking for efi_init_obj_list() efi: Add a TODO to efi_init_obj_list() efi: Correct header order in efi_memory efi: sandbox: Adjust memory usage for sandbox sandbox: smbios: Update to support sandbox sandbox: Add a setjmp() implementation efi: sandbox: Add required linker sections efi: sandbox: Add distroboot support Define board_quiesce_devices() in a shared location Add a comment for board_quiesce_devices() efi: sandbox: Add relocation constants efi: Add a comment about duplicated ELF constants efi: sandbox: Enable EFI loader builder for sandbox efi: sandbox: Add a simple 'bootefi test' command arch/arm/include/asm/u-boot-arm.h | 1 - arch/sandbox/cpu/cpu.c | 13 ++++++++ arch/sandbox/cpu/os.c | 17 +++++++++++ arch/sandbox/cpu/u-boot.lds | 29 ++++++++++++++++++ arch/sandbox/include/asm/setjmp.h | 21 +++++++++++++ arch/sandbox/lib/Makefile | 2 +- arch/sandbox/lib/sections.c | 12 ++++++++ arch/x86/include/asm/u-boot-x86.h | 1 - arch/x86/lib/bootm.c | 4 --- cmd/bootefi.c | 62 +++++++++++++++++++++++++++++++++++---- common/bootm.c | 4 +++ configs/sandbox_defconfig | 1 + include/bootm.h | 8 +++++ include/config_distro_bootcmd.h | 2 +- include/efi_loader.h | 12 +++++++- include/os.h | 21 +++++++++++++ lib/efi_loader/Kconfig | 12 +++++++- lib/efi_loader/Makefile | 1 + lib/efi_loader/efi_memory.c | 36 +++++++++++++---------- lib/efi_loader/efi_runtime.c | 7 +++++ lib/efi_loader/efi_smbios.c | 7 +++-- lib/efi_loader/efi_test.c | 17 +++++++++++ lib/smbios.c | 38 ++++++++++++++++++------ 23 files changed, 284 insertions(+), 44 deletions(-) create mode 100644 arch/sandbox/include/asm/setjmp.h create mode 100644 arch/sandbox/lib/sections.c create mode 100644 lib/efi_loader/efi_test.c -- 2.15.0.531.g2ccb3012c9-goog _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot