x86: Change __kernel_size_t conditionals to use compiler provided defines
authorBin Meng <bmeng.cn@gmail.com>
Fri, 22 Jun 2018 08:38:27 +0000 (01:38 -0700)
committerBin Meng <bmeng.cn@gmail.com>
Sun, 24 Jun 2018 00:56:04 +0000 (08:56 +0800)
commit5460fd076263a461442e4beb3215466536166026
treef425583f067ddc31756da03742ae08b9ae63a692
parent018664464628686d41f3d36e5428bb50d9094977
x86: Change __kernel_size_t conditionals to use compiler provided defines

Since commit bb0bb91cf0aa ("efi_stub: Use efi_uintn_t"), EFI x86
64-bit payload does not work anymore. The call to GetMemoryMap()
in efi_stub.c fails with return code EFI_INVALID_PARAMETER. Since
the payload itself is still 32-bit U-Boot, efi_uintn_t gets wrongly
interpreted as int, but it should actually be long in a 64-bit EFI
environment.

This changes the x86 __kernel_size_t conditionals to use compiler
provided defines instead. That way we always adhere to the build
environment we're in and the definitions adjust automatically.

Fixes: bb0bb91cf0aa ("efi_stub: Use efi_uintn_t")
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
arch/x86/include/asm/posix_types.h