Re: [PATCH 1/3 -v4] x86_64 EFI runtime service support: EFI basic runtime service support

Alan Cox
2007-10-26T11:29:45Z

On Fri, 26 Oct 2007 09:03:11 +0800
"Huang, Ying" <ying.huang@intel.com> wrote:

> On Thu, 2007-10-25 at 18:09 +0200, Thomas Gleixner wrote:
> > > EFI runtime
> > > services initialization are implemented in efi.c. Some x86_64
> > > specifics are worth noting here. On x86_64, parameters passed to UEFI
> > > firmware services need to follow the UEFI calling convention. For this
> > > purpose, a set of functions named lin2win<x> (<x> is the number of
> > > parameters) are implemented. EFI function calls are wrapped before
> > > calling the firmware service.
> >
> > Why needs this to be called lin2win? We do not call Windows, we call
> > EFI services, so please use a naming convention which is related to
> > the functionality of the code.
> >
> > > + *
> > > + * Function calling ABI conversion from SYSV to Windows for x86_64
> >
> > Again, these are wrappers to access EFI and not Windows.
>
> EFI uses the Windows x86_64 calling convention. The lin2win may be a
> more general naming convention that can be used for some other code (the
> NDISwrapper?) in the future. Do you agree?

The SYSV description is wrong as well. SYSV has no calling convention. I
think you mean iABI or iBCS2 ?

Whats wrong with following the pattern of other calls like syscall(...)
and just having eficall() ?

Alan.