[PATCH v3 4/7] efi_loader: Add a version of efi_binary_run() with more parameters

Ilias Apalodimas ilias.apalodimas at linaro.org
Sun Dec 22 14:17:03 CET 2024


Hi Heinrich

On Sun, 22 Dec 2024 at 14:45, Heinrich Schuchardt <xypron.glpk at gmx.de> wrote:
>
> On 12/19/24 03:38, Simon Glass wrote:
> > This uses a few global variables at present. With the bootflow we have
> > the required parameters, so add a function which accepts these. Update
> > the existing function to call the new one with the globals.
> >
> > - Rename efi_binary_run_() to _efi_binary_run()
> >
> > Signed-off-by: Simon Glass <sjg at chromium.org>
> > ---
> >
> > (no changes since v1)
> >
> >   lib/efi_loader/efi_bootbin.c | 29 +++++++++++++++++++++++++----
> >   1 file changed, 25 insertions(+), 4 deletions(-)
> >
> > diff --git a/lib/efi_loader/efi_bootbin.c b/lib/efi_loader/efi_bootbin.c
> > index b42ff3cb4e0..f7aedeaab8a 100644
> > --- a/lib/efi_loader/efi_bootbin.c
> > +++ b/lib/efi_loader/efi_bootbin.c
> > @@ -228,18 +228,22 @@ out:
> >   }
> >
> >   /**
> > - * efi_binary_run() - run loaded UEFI image
> > + * efi_binary_run_() - run loaded UEFI image
> >    *
> >    * @image_ptr:      memory address of the UEFI image
> >    * @size:   size of the UEFI image
> >    * @fdt:    device-tree
> > + * @device:  EFI device-path
> > + * @image:   EFI image-path
> >    *
> >    * Execute an EFI binary image loaded at @image.
> >    * @size may be zero if the binary is loaded with U-Boot load command.
> >    *
> >    * Return:  status code
> >    */
> > -efi_status_t efi_binary_run(void *image_ptr, size_t size, void *fdt)
> > +efi_status_t _efi_binary_run(void *image_ptr, size_t size, void *fdt,
> > +                          struct efi_device_path *device,
> > +                          struct efi_device_path *image)
>
> A non-static function starting with underscore? Please, avoid this.

I was the one who requested this, the v1 had it as efi_binary_run_,
but i a dont mind any of those

Cheers
/Ilias
>
> Best regards
>
> Heinrich
>
> >   {
> >       efi_status_t ret;
> >
> > @@ -255,6 +259,23 @@ efi_status_t efi_binary_run(void *image_ptr, size_t size, void *fdt)
> >       if (ret != EFI_SUCCESS)
> >               return ret;
> >
> > -     return efi_run_image(image_ptr, size, bootefi_device_path,
> > -                          bootefi_image_path);
> > +     return efi_run_image(image_ptr, size, device, image);
> > +}
> > +
> > +/**
> > + * efi_binary_run() - run loaded UEFI image
> > + *
> > + * @image:   memory address of the UEFI image
> > + * @size:    size of the UEFI image
> > + * @fdt:     device-tree
> > + *
> > + * Execute an EFI binary image loaded at @image.
> > + * @size may be zero if the binary is loaded with U-Boot load command.
> > + *
> > + * Return:   status code
> > + */
> > +efi_status_t efi_binary_run(void *image, size_t size, void *fdt)
> > +{
> > +     return _efi_binary_run(image, size, fdt, bootefi_device_path,
> > +                            bootefi_image_path);
> >   }
>


More information about the U-Boot mailing list