[U-Boot] [PATCH v2] x86: use EFI calling convention for efi_main on x86_64

Ivan Gorinov ivan.gorinov at intel.com
Thu May 31 18:52:48 UTC 2018


On Thu, May 31, 2018 at 11:26:50AM +0300, Andy Shevchenko wrote:
> > Save efi_main() arguments in the startup code on x86_64;
> > use EFI calling convention for _relocate() on x86_64;
> > remove unused _relocate() arguments;
> > consistently use EFI calling convention for efi_main() everywhere.
> 
> I think it rather requires more explanation here what EFI calling
> convetion is and how it differs in _relloc() with changes you did.
> (Btw, the mail has no changelog provided)

Added in v3.

> > diff --git a/lib/efi/efi_app.c b/lib/efi/efi_app.c
> > index c828093..3eb8eeb 100644
> > --- a/lib/efi/efi_app.c
> > +++ b/lib/efi/efi_app.c
> > @@ -96,7 +96,8 @@ static void free_memory(struct efi_priv *priv)
> >   * U-Boot. If it returns, EFI will continue. Another way to get back to EFI
> >   * is via reset_cpu().
> >   */
> > -efi_status_t efi_main(efi_handle_t image, struct efi_system_table *sys_table)
> > +efi_status_t EFIAPI efi_main(efi_handle_t image,
> > +                            struct efi_system_table *sys_table)
> 
> Perhaps still leave at one line?

That one line would exceed the limit of 80 columns on a punch card.

> 
> >  {
> >         struct efi_priv local_priv, *priv = &local_priv;
> >         efi_status_t ret;
> > diff --git a/lib/efi/efi_stub.c b/lib/efi/efi_stub.c
> > index 3138739..399d16b 100644
> > --- a/lib/efi/efi_stub.c
> > +++ b/lib/efi/efi_stub.c
> > @@ -268,7 +268,8 @@ static void add_entry_addr(struct efi_priv *priv, enum efi_entry_t type,
> >   * This function is called by our EFI start-up code. It handles running
> >   * U-Boot. If it returns, EFI will continue.
> >   */
> > -efi_status_t efi_main(efi_handle_t image, struct efi_system_table *sys_table)
> > +efi_status_t EFIAPI efi_main(efi_handle_t image,
> > +                            struct efi_system_table *sys_table)
> 
> Ditto.


More information about the U-Boot mailing list