[U-Boot] [PATCH v2 03/13] x86: Change __kernel_size_t conditionals to use compiler provided defines
Alexander Graf
agraf at suse.de
Tue Jun 12 19:12:47 UTC 2018
On 12.06.18 17:36, Bin Meng wrote:
> 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 at gmail.com>
Reviewed-by: Alexander Graf <agraf at suse.de>
Alex
>
> ---
>
> Changes in v2:
> - new patch to "change __kernel_size_t conditionals to use compiler
> provided defines"
>
> arch/x86/include/asm/posix_types.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/include/asm/posix_types.h b/arch/x86/include/asm/posix_types.h
> index 717f6cb..a19f1a0 100644
> --- a/arch/x86/include/asm/posix_types.h
> +++ b/arch/x86/include/asm/posix_types.h
> @@ -16,7 +16,7 @@ typedef int __kernel_pid_t;
> typedef unsigned short __kernel_ipc_pid_t;
> typedef unsigned short __kernel_uid_t;
> typedef unsigned short __kernel_gid_t;
> -#if CONFIG_IS_ENABLED(X86_64)
> +#if defined __x86_64__
> typedef unsigned long __kernel_size_t;
> typedef long __kernel_ssize_t;
> #else
>
More information about the U-Boot
mailing list