[U-Boot] [PATCH v2 4/8] x86: Tidy up selection of building the EFI stub

Simon Glass sjg at chromium.org
Tue Sep 27 02:35:38 CEST 2016


Hi Bin,

On 26 September 2016 at 02:50, Bin Meng <bmeng.cn at gmail.com> wrote:
> Hi Simon,
>
> On Mon, Sep 26, 2016 at 5:27 AM, Simon Glass <sjg at chromium.org> wrote:
>> At present we use a CONFIG option in efi.h to determine whether we are
>> building the EFI stub or not. This means that the same header cannot be
>> used for EFI_LOADER support. The CONFIG option will be enabled for the
>> whole build, even when not building the stub.
>>
>> Use a different define instead, set up just for the files that make up the
>> stub.
>>
>> Signed-off-by: Simon Glass <sjg at chromium.org>
>> ---
>>
>> Changes in v2:
>> - Add new patch to tidy up selection of building the EFI stub
>>
>>  include/efi.h    | 7 +++++--
>>  lib/efi/Makefile | 4 ++--
>>  2 files changed, 7 insertions(+), 4 deletions(-)
>>
>> diff --git a/include/efi.h b/include/efi.h
>> index d07187c..3d58780 100644
>> --- a/include/efi.h
>> +++ b/include/efi.h
>> @@ -30,8 +30,11 @@ struct efi_device_path;
>>
>>  #define EFI_BITS_PER_LONG      BITS_PER_LONG
>>
>> -/* With 64-bit EFI stub, EFI_BITS_PER_LONG has to be 64 */
>> -#ifdef CONFIG_EFI_STUB_64BIT
>> +/*
>> + * With 64-bit EFI stub, EFI_BITS_PER_LONG has to be 64. EFI_STUB is set
>> + * in lib/efi/Makefile, when building the stub.
>> + */
>> +#if defined(CONFIG_EFI_STUB_64BIT) && defined(EFI_STUB)
>
> I don't understand why this is needed?

If building the 64-bit EFI stub, we need to use 64-bit ints for the
stub, but 32-bits for the rest of U-Boot. So this header gets used
both ways.

>
>>  #undef EFI_BITS_PER_LONG
>>  #define EFI_BITS_PER_LONG      64
>>  #endif
>> diff --git a/lib/efi/Makefile b/lib/efi/Makefile
>> index e32dc14..9449600 100644
>> --- a/lib/efi/Makefile
>> +++ b/lib/efi/Makefile
>> @@ -9,9 +9,9 @@ obj-$(CONFIG_EFI_STUB) += efi_info.o
>>
>>  CFLAGS_REMOVE_efi_stub.o := -mregparm=3 \
>>         $(if $(CONFIG_EFI_STUB_64BIT),-march=i386 -m32)
>> -CFLAGS_efi_stub.o := -fpic -fshort-wchar
>> +CFLAGS_efi_stub.o := -fpic -fshort-wchar -DEFI_STUB
>>  CFLAGS_REMOVE_efi.o := -mregparm=3 \
>>         $(if $(CONFIG_EFI_STUB_64BIT),-march=i386 -m32)
>> -CFLAGS_efi.o := -fpic -fshort-wchar
>> +CFLAGS_efi.o := -fpic -fshort-wchar -DEFI_STUB
>>
>>  extra-$(CONFIG_EFI_STUB) += efi_stub.o efi.o
>> --
>
> Regards,
> Bin

Regards,
Simon


More information about the U-Boot mailing list