This collects together several v3 patches into one, to avoid any temporary test-breakage which would make future bisecting difficult.
For efi_memory, the efi_allocate_pool() call uses a pointer to refer to memory, but efi_allocate_pages() uses an int. This causes quite a bit of confusion, since sandbox has a distinction between pointers and addresses. Adjust efi_allocate/free_pages_ext() to handle the conversions. Update efi_add_memory_map() function and its friend to use an address rather than a pointer cast to an integer. For lmb, now that efi_add_memory_map_pg() uses a address rather than a pointer cast to an int, we can simplify the code here. For efi_reserve_memory(), use addresses rather than pointers, so that it doesn't have to use mapmem. In general this simplifies the code, but the main benefit is that casts are no-longer needed in most places, so the compiler can check that we are doing the right thing. For efi_add_runtime_mmio(), now that efi_add_memory_map() takes an address rather than a pointer, do the mapping in this function. Update the memset() parameter to be a char while we are here. Signed-off-by: Simon Glass <[email protected]> --- (no changes since v4) Changes in v4: - Combine the various pointer-to-address patches into one include/efi_loader.h | 13 +++++------ lib/efi_loader/efi_bootmgr.c | 3 ++- lib/efi_loader/efi_boottime.c | 37 ++++++++++++++++++++++-------- lib/efi_loader/efi_dt_fixup.c | 4 ---- lib/efi_loader/efi_image_loader.c | 3 ++- lib/efi_loader/efi_memory.c | 38 ++++++++++--------------------- lib/efi_loader/efi_runtime.c | 3 ++- lib/efi_loader/efi_var_mem.c | 6 ++--- lib/lmb.c | 10 +++----- 9 files changed, 57 insertions(+), 60 deletions(-) Applied to sjg/master, thanks!

