[PATCH 00/13] efi: Tidy up confusion between pointers and addresses

Simon Glass sjg at chromium.org
Tue Nov 26 16:41:55 CET 2024


Hi Ilias,

On Tue, 26 Nov 2024 at 01:13, Ilias Apalodimas
<ilias.apalodimas at 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 at 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
> >


More information about the U-Boot mailing list