[U-Boot] [PATCH v4 00/21] sandbox: efi_loader support
Alexander Graf
agraf at suse.de
Mon Jun 18 15:22:54 UTC 2018
This patch set augments Simon's patch set for efi_loader support
in sandbox[1], but cuts off the memory allocation scheme at a different
point.
According to the UEFI spec, efi_allocate_pages() takes a uint64_t *
argument. Via this argument, we get a physical address as input, but
emit a pointer as output.
With this patch set in place, I can successfully run the selftest suite
as well as an aarch64 grub.efi binary. X86_64 grub.efi doesn't work
because that one requires inl instructions to work.
Alex
[1] https://patchwork.ozlabs.org/project/uboot/list/?series=49832
v1 -> v2:
- only compile efi_add_known_memory if efi_loader is enabled
- clarify address vs pointer in fs_read patch
- include mapmem.h
v2 -> v3:
- removed: efi_loader: Pass address to fs_read()
- new: fs: Convert fs_read/write to take buffer instead of address
- new: efi_loader: Introduce ms abi vararg helpers
- new: sandbox: Enable 1:1 map
- new: distro: Move to compiler based target architecture determination
- new: efi_loader: Move to compiler based target architecture determination
- new: sandbox: Allow to execute from RAM
- new: sandbox: Fix setjmp/longjmp
v3 -> v4:
- remove 1:1 map again
- switch to U-Boot addresses exposed in memory tables
- new: elf: Move x86 reloc defines to common elf.h
- new: sandbox: Always allocate aligned buffers
- new: efi_loader: Expose U-Boot addresses in memory map for sandbox
Alexander Graf (16):
efi_loader: Use compiler constants for image loader
efi_loader: Use map_sysmem() in bootefi command
efi.h: Do not use config options
efi_loader: Allow SMBIOS tables in highmem
sandbox: Map host memory for efi_loader
efi_loader: Disable miniapps on sandbox
fs: Convert fs_read/write to take buffer instead of address
efi_loader: Introduce ms abi vararg helpers
distro: Move to compiler based target architecture determination
efi_loader: Move to compiler based target architecture determination
sandbox: Fix setjmp/longjmp
elf: Move x86 reloc defines to common elf.h
efi_loader: Use common elf.h reloc defines
sandbox: Allow to execute from RAM
sandbox: Always allocate aligned buffers
efi_loader: Expose U-Boot addresses in memory map for sandbox
Heinrich Schuchardt (1):
efi_loader: efi_allocate_pages is too restrictive
Simon Glass (4):
efi: sandbox: Add distroboot support
efi: sandbox: Add relocation constants
efi: sandbox: Enable EFI loader for sandbox
efi: sandbox: Adjust memory usage for sandbox
arch/sandbox/cpu/cpu.c | 20 ++++++++++++----
arch/sandbox/cpu/os.c | 39 +++++++++++++++---------------
arch/sandbox/include/asm/setjmp.h | 4 +++-
arch/x86/include/asm/elf.h | 45 -----------------------------------
arch/x86/lib/reloc_ia32_efi.c | 1 -
arch/x86/lib/reloc_x86_64_efi.c | 1 -
board/BuR/common/common.c | 2 +-
board/gdsys/p1022/controlcenterd-id.c | 10 ++++----
cmd/bootefi.c | 13 ++++++----
cmd/mvebu/bubt.c | 4 ++--
common/splash_source.c | 4 +++-
drivers/bootcount/bootcount_ext.c | 12 +++++-----
drivers/fpga/zynqpl.c | 8 ++++---
fs/fs.c | 20 ++++++++--------
include/config_distro_bootcmd.h | 17 ++++++++-----
include/efi.h | 25 ++++++++++---------
include/elf.h | 35 +++++++++++++++++++++++++++
include/fs.h | 12 +++++-----
include/os.h | 19 +++++++++++++++
lib/efi/Makefile | 4 ++--
lib/efi_loader/Kconfig | 2 +-
lib/efi_loader/efi_boottime.c | 36 ++++++++++++++--------------
lib/efi_loader/efi_file.c | 6 ++---
lib/efi_loader/efi_image_loader.c | 12 +++++-----
lib/efi_loader/efi_memory.c | 28 ++++++++++++++--------
lib/efi_loader/efi_runtime.c | 21 ++++++++--------
lib/efi_loader/efi_smbios.c | 11 +++++++--
lib/efi_selftest/Makefile | 2 +-
28 files changed, 228 insertions(+), 185 deletions(-)
delete mode 100644 arch/x86/include/asm/elf.h
--
2.12.3
More information about the U-Boot
mailing list