Re: [PATCH] EFI x86: pass firmware call parameters on the stack

bibo,mao
2007-02-02T01:32:40Z

Frederic Riss wrote:
> 2007/2/1, bibo,mao <bibo_mao@linux.intel.com>:
>> currently x86_64 kernel does not support efi, efi convention comply to
>> MS convention. On ia32 parameter is passed on stack, on x86_64 parameter
>> is passed by registers but that is different from x86_64 linux
>> convention.
>
> Is an x86_64 EFI firmware required to have 2 entry points, one x86_64
> and one in ia32 mode ? If that's not the case, it means that an i386
> kernel won't be able to work correctly on an EFI powered x86_64 box...
>
AFAIK x86_64 EFI firmware now has only one entry point, i386 kernel
can not boot up with EFI powered x86_64 box.

>> How about adding EFIAPI prefix before efi runtime service function, this
>> prefix has different definition in different architecture.
>
> Have you any objection to the second patch I posted? It's not only a
> matter of passing arguments, ia64 does quite a lot of things in its
> wrapper functions. I can easily imagine that such additional work
> could be added in the i386 wrappers if EFI becomes more widely used.
>
I do not object your second patch if there will be more wrapper functions
to be added in i386 efi code. I have to give up my patch:)

thanks
bibo,mao