
Hi Ilias,
On Tue, 26 Nov 2024 at 01:13, Ilias Apalodimas ilias.apalodimas@linaro.org wrote:
Hi Simon
Apart from the comments on the other patches, the SCT memory tests crash with this series. Please run it locally before sending a v2.
I did briefly get it running on my laptop, but not for x86_64. I understand from Heinrich that EDK2 doesn't build for any architecture at present.
Which arch are you using? I'd like to be able to run SCT easily, if possible.
Regards, Simon
Thanks /Ilias
On Mon, 25 Nov 2024 at 22:45, Simon Glass sjg@chromium.org wrote:
The EFI-loader implementation converts things back and forth between addresses and pointers, with not much consistency in how this is done.
Within most of U-Boot a pointer is a void * and an address is a ulong
This convention is very helpful, since it is obvious in common code as to whether you need to call map_sysmem() and friends, or not.
As part of cleaning up the EFI memory-management, I found it almost impossible to know in some cases whether something is an address or a pointer. I decided to give up on that and come back to it when this is resolved.
This series starts applying the normal ulong/void * convention to the EFI_loader code, so making things easier to follow.
Link: https://lore.kernel.org/u-boot/20240725135629.3505072-1-sjg@chromium.org/
Simon Glass (13): efi: Define fields in struct efi_mem_desc efi_loader: Convert efi_get_memory_map() to return pointers efi_loader: Show the resulting memory address from an alloc efi_loader: Update startimage_exit self-test to check error efi_loader: Move some memory-function comments to header efi_loader: Use the enum for memory type efi_loader: Make more use of ulong efi_loader: Tidy up use of addresses lmb: Reduce mapmem contortions in lmb_map_update_notify() efi_loader: Simplify efi_dp_from_mem() efi_loader: Tidy up efi_reserve_memory() efi_loader: Drop extra brackets in efi_mem_carve_out() efi_loader: Don't try to add sandbox runtime code
include/efi.h | 15 ++ include/efi_api.h | 6 +- include/efi_loader.h | 100 +++++-- lib/efi_loader/efi_bootbin.c | 3 +- lib/efi_loader/efi_bootmgr.c | 11 +- lib/efi_loader/efi_boottime.c | 51 ++-- lib/efi_loader/efi_device_path.c | 18 +- lib/efi_loader/efi_dt_fixup.c | 8 +- lib/efi_loader/efi_helper.c | 7 +- lib/efi_loader/efi_image_loader.c | 2 +- lib/efi_loader/efi_memory.c | 246 +++++++----------- lib/efi_loader/efi_var_mem.c | 6 +- .../efi_selftest_startimage_exit.c | 6 +- lib/lmb.c | 10 +- 14 files changed, 251 insertions(+), 238 deletions(-)
-- 2.43.0