Hi Heinrich, On 17 September 2017 at 21:48, Heinrich Schuchardt <xypron.g...@gmx.de> wrote: > On 09/18/2017 12:59 AM, Simon Glass wrote: >> 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 >> >> >> 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 setup 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 | 54 >> ++++++++++++++++++++++++++++++++++----- >> common/bootm.c | 4 +++ >> configs/sandbox_defconfig | 1 + >> include/bootm.h | 8 ++++++ >> include/config_distro_bootcmd.h | 2 +- >> include/efi_loader.h | 13 ++++++++-- >> include/os.h | 21 +++++++++++++++ >> lib/efi_loader/Kconfig | 12 ++++++++- >> lib/efi_loader/Makefile | 1 + >> lib/efi_loader/efi_boottime.c | 4 +++ >> lib/efi_loader/efi_memory.c | 33 +++++++++++++----------- >> lib/efi_loader/efi_runtime.c | 7 +++++ >> lib/efi_loader/efi_smbios.c | 6 +++-- >> lib/efi_loader/efi_test.c | 17 ++++++++++++ >> lib/smbios.c | 38 ++++++++++++++++++++------- >> 24 files changed, 277 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 >> > Thanks for enabling efi_loader on sandbox. That will make many things > easier. > > Unfortunately > efi_status_t EFIAPI efi_selftest(efi_handle_t image_handle, > struct efi_system_table *systab) > { > ... > boottime = systable->boottime; > ... > ret = boottime->allocate_pool(EFI_BOOT_SERVICES_DATA, map_size, > (void **)&memory_map); > leads to a segmentation fault: > > => bootefi selftest > > Testing EFI API implementation > > Number of tests to execute: 3 > <snip> > Setting up 'ExitBootServices' > Setting up 'ExitBootServices' succeeded > Segmentation fault > user@workstation:~/workspace/u-boot-odroid-c2/denx$ > > The problem does not exist with qemu-x86_defconfig without your patches. > > qemu-x86_defconfig cannot be built with you patches: > > UPD include/generated/asm-offsets.h > sh: echo: I/O error > Kbuild:47: recipe for target 'include/generated/generic-asm-offsets.h' > failed > make[1]: *** [include/generated/generic-asm-offsets.h] Error 1 > make[1]: *** Waiting for unfinished jobs.... > Makefile:1332: recipe for target 'prepare0' failed > make: *** [prepare0] Error 2
Are you able to bisect this to the commit which causes the problem. I've had a look through and cannot figure it out my inspection. Otherwise I should be able to look at it on Tuesday. Regards, Simon _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot