[U-Boot] [PATCH] efi_loader: EFI entry point should be EFIAPI

Alexander Graf agraf at suse.de
Mon Sep 18 20:59:29 UTC 2017



On 18.09.17 20:27, Rob Clark wrote:
> On Mon, Sep 18, 2017 at 1:47 PM, Rob Clark <robdclark at gmail.com> wrote:
>> This is needed to run 'bootefi' from sandbox.  I suspect StartImage()
>> must have been broken too on x86.
>>
>> Signed-off-by: Rob Clark <robdclark at gmail.com>
>> ---
>>   cmd/bootefi.c                 | 2 +-
>>   include/efi.h                 | 2 +-
>>   lib/efi_loader/efi_boottime.c | 2 +-
>>   3 files changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/cmd/bootefi.c b/cmd/bootefi.c
>> index fb8ba9be6a..3c9a466e20 100644
>> --- a/cmd/bootefi.c
>> +++ b/cmd/bootefi.c
>> @@ -96,7 +96,7 @@ static void *copy_fdt(void *fdt)
>>
>>   static ulong efi_do_enter(void *image_handle,
>>                            struct efi_system_table *st,
>> -                         asmlinkage ulong (*entry)(void *image_handle,
>> +                         EFIAPI ulong (*entry)(void *image_handle,
>>                                  struct efi_system_table *st))
>>   {
>>          efi_status_t ret = EFI_LOAD_ERROR;
>> diff --git a/include/efi.h b/include/efi.h
>> index 04e83220b4..47c2c8f398 100644
>> --- a/include/efi.h
>> +++ b/include/efi.h
>> @@ -19,7 +19,7 @@
>>   #include <linux/string.h>
>>   #include <linux/types.h>
>>
>> -#ifdef CONFIG_EFI_STUB_64BIT
>> +#if defined(CONFIG_EFI_STUB_64BIT) || defined(CONFIG_SANDBOX)
> 
> btw, maybe we should have CONFIG_SANDBOX_$arch somehow so we don't
> have to assume SANDBOX==X86 (but I guess at least just having
> efi_loader work in sandbox on x86 is a nice first step)

Ah, sorry, read that too late. I use aarch64 systems productively these 
days, so I would certainly prefer if we could not block ourselves in on 
any x86_64 host dependency - even if it's just for make test :)

Alex


More information about the U-Boot mailing list