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

Bin Meng bmeng.cn at gmail.com
Wed Sep 28 03:23:54 CEST 2016


Hi Simon,

On Wed, Sep 28, 2016 at 1:55 AM, Simon Glass <sjg at chromium.org> wrote:
> Hi Bin,
>
> On 26 September 2016 at 20:44, Bin Meng <bmeng.cn at gmail.com> wrote:
>> Hi Simon,
>>
>> On Tue, Sep 27, 2016 at 8:35 AM, Simon Glass <sjg at chromium.org> wrote:
>>> 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.
>>>
>>
>> For 32-bit EFI stub or U-Boot itself, EFI_BITS_PER_LONG is defined as
>> BITS_PER_LONG which is 32.
>
> Yes that's right. But in the case of the stub, it can be different
> from U-Boot itself. This case takes care of that.
>

Sorry but I still don't get it. What's broken without this change?

Regards,
Bin


More information about the U-Boot mailing list