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. This series is at u-boot-dm/efi-working Changes in v6: - Warn about building sandbox EFI support on something other than __x86_64__ Changes in v5: - Add new patch to disallow CMD_BOOTEFI_SELFTEST on sandbox - Drop call to efi_init_obj_list() which is now done in do_bootefi() - Drop period after "elf" in comment - Introduce load_options_path to specifyc U-Boot env var for load_options_path - Rebase to master Changes in v4: - Move the fix to query_console_serial() - Rebase to master - Update SPDX tags Changes in v3: - Add new patch to init the 'rows' and 'cols' variables - Add new patch to rename bootefi_test_finish() to bootefi_run_finish() - Add new patch to split out test init/uninit into functions - Add patch to create a function to set up for running EFI code - Drop incorrect map_sysmem() in write_smbios_table() - Init the 'rows' and 'cols' vars to avoid a compiler error (gcc 4.8.4) - Rebase to master Changes in v2: - Rebase to master - Update to use mapmem instead of a cast Simon Glass (13): efi: Don't allow CMD_BOOTEFI_SELFTEST on sandbox efi: Init the 'rows' and 'cols' variables efi: sandbox: Adjust memory usage for sandbox sandbox: smbios: Update to support sandbox efi: sandbox: Add distroboot support efi: sandbox: Add relocation constants efi: Add a comment about duplicated ELF constants efi: sandbox: Enable EFI loader builder for sandbox efi: Split out test init/uninit into functions efi: sandbox: Add a simple 'bootefi test' command efi: Create a function to set up for running EFI code efi: Rename bootefi_test_finish() to bootefi_run_finish() Revert "buildman: Extract environment as part of each build" cmd/bootefi.c | 153 ++++++++++++++++++++++---------- include/config_distro_bootcmd.h | 13 +++ include/efi_loader.h | 3 + lib/efi_loader/Kconfig | 12 ++- lib/efi_loader/Makefile | 1 + lib/efi_loader/efi_console.c | 5 +- lib/efi_loader/efi_memory.c | 31 ++++--- lib/efi_loader/efi_runtime.c | 16 ++++ lib/efi_loader/efi_test.c | 16 ++++ lib/efi_selftest/Kconfig | 2 +- lib/smbios.c | 32 +++++-- tools/buildman/builderthread.py | 10 --- tools/buildman/func_test.py | 5 -- 13 files changed, 213 insertions(+), 86 deletions(-) create mode 100644 lib/efi_loader/efi_test.c -- 2.18.0.rc1.244.gcf134e6275-goog _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot