[U-Boot] [PATCH v2 41/63] x86: Fix up type sizes for 64-bit
Bin Meng
bmeng.cn at gmail.com
Sat Jan 14 14:31:46 CET 2017
Hi Simon,
On Sun, Nov 20, 2016 at 4:25 AM, Simon Glass <sjg at chromium.org> wrote:
> Adjust types as needed to support 64-bit compilation.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---
>
> Changes in v2: None
>
> arch/x86/include/asm/posix_types.h | 5 +++++
> arch/x86/include/asm/types.h | 5 +++++
> 2 files changed, 10 insertions(+)
>
> diff --git a/arch/x86/include/asm/posix_types.h b/arch/x86/include/asm/posix_types.h
> index 5529f32..717f6cb 100644
> --- a/arch/x86/include/asm/posix_types.h
> +++ b/arch/x86/include/asm/posix_types.h
> @@ -16,8 +16,13 @@ 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)
> +typedef unsigned long __kernel_size_t;
> +typedef long __kernel_ssize_t;
> +#else
> typedef unsigned int __kernel_size_t;
> typedef int __kernel_ssize_t;
> +#endif
Should these two just be the same? using long for both 32-bit and 64-bit
> typedef int __kernel_ptrdiff_t;
> typedef long __kernel_time_t;
> typedef long __kernel_suseconds_t;
> diff --git a/arch/x86/include/asm/types.h b/arch/x86/include/asm/types.h
> index 880dcb4..a47e581 100644
> --- a/arch/x86/include/asm/types.h
> +++ b/arch/x86/include/asm/types.h
> @@ -44,7 +44,12 @@ typedef __INT64_TYPE__ s64;
> typedef __UINT64_TYPE__ u64;
> #endif
>
> +#if CONFIG_IS_ENABLED(X86_64)
> +#define BITS_PER_LONG 64
> +#else
> #define BITS_PER_LONG 32
> +#endif
> +
> /* Dma addresses are 32-bits wide. */
>
> typedef u32 dma_addr_t;
Regards,
Bin
More information about the U-Boot
mailing list