Hi Simon, On Tue, Sep 27, 2016 at 8:35 AM, Simon Glass <s...@chromium.org> wrote: > Hi Bin, > > On 26 September 2016 at 02:50, Bin Meng <bmeng...@gmail.com> wrote: >> Hi Simon, >> >> On Mon, Sep 26, 2016 at 5:27 AM, Simon Glass <s...@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 <s...@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. >> >>> #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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot