
This patch set finalized the last remaining bits to get efi_loader working properly in sandbox. It depends on the current efi-next tree to function properly.
With this patch set in place, I can successfully run the selftest suite as well as an aarch64 grub.efi and an x86_64 grub.efi binary that has been patched to not directly access port io.
I hope this patch set concludes the sandbox efforts and we can finally move on doing productive work.
Alex
... -> v4:
- changelog dropped, as the scope of the patch set slimmed down
v4 -> v5:
- drop patches that are applied to efi-next - Replace runtime mprotect() mechanism with mmap() flag - Use system setjmp/longjmp directly from target code - Add Simon's smbios patch and adapt to efi_allocate_pages() - Include Simon's patches for fs_read(), map_to_sysmem(), RAM alignment
Alexander Graf (5): efi.h: Do not use config options distro: Move to compiler based target architecture determination efi_loader: Pass address to fs_read() sandbox: Fix setjmp/longjmp sandbox: Allow to execute from RAM
Simon Glass (5): sandbox: Align RAM buffer to the machine page size sandbox: smbios: Update to support sandbox sandbox: Add support for calling abort() sandbox: Enhance map_to_sysmem() to handle foreign pointers efi: sandbox: Enable EFI loader for sandbox
arch/sandbox/cpu/cpu.c | 153 ++++++++++++++++++++++++++++++++------ arch/sandbox/cpu/os.c | 27 ++----- arch/sandbox/cpu/state.c | 8 ++ arch/sandbox/include/asm/setjmp.h | 5 ++ arch/sandbox/include/asm/state.h | 21 ++++++ include/config_distro_bootcmd.h | 17 +++-- include/efi.h | 24 +++--- include/os.h | 20 +---- lib/efi/Makefile | 4 +- lib/efi_loader/Kconfig | 2 +- lib/efi_loader/efi_file.c | 5 +- lib/efi_loader/efi_smbios.c | 18 ++++- lib/smbios.c | 32 ++++++-- 13 files changed, 241 insertions(+), 95 deletions(-)