diff mbox

[14/24] ARM64:ILP32: COMPAT_USE_64BIT_TIME is true for ILP32 tasks.

Message ID 1400914939-9708-15-git-send-email-apinski@cavium.com
State New
Headers show

Commit Message

Andrew Pinski May 24, 2014, 7:02 a.m. UTC
Since __kernel_long_t (time_t) is long long, we need to tell the rest of kernel that we use 64bit time_t for compat when the task is not an AARCH32 task.  The reason why we check AARCH32 rather than ILP32 here is because if we don't have AARCH32 compiled in (which is going to be the common case due to AARCH32 requiring 4k pages).

Thanks,
Andrew Pinski

Signed-off-by: Andrew Pinski <apinski@cavium.com>
---
 arch/arm64/include/asm/compat.h |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

Comments

Catalin Marinas June 19, 2014, 12:52 p.m. UTC | #1
On Sat, May 24, 2014 at 12:02:09AM -0700, Andrew Pinski wrote:
> Since __kernel_long_t (time_t) is long long, we need to tell the rest
> of kernel that we use 64bit time_t for compat when the task is not an
> AARCH32 task.  The reason why we check AARCH32 rather than ILP32 here
> is because if we don't have AARCH32 compiled in (which is going to be
> the common case due to AARCH32 requiring 4k pages).
> 
> Thanks,
> Andrew Pinski
> 
> Signed-off-by: Andrew Pinski <apinski@cavium.com>
> ---
>  arch/arm64/include/asm/compat.h |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/arm64/include/asm/compat.h b/arch/arm64/include/asm/compat.h
> index 85f945c..c77fc0f 100644
> --- a/arch/arm64/include/asm/compat.h
> +++ b/arch/arm64/include/asm/compat.h
> @@ -76,6 +76,9 @@ struct compat_timeval {
>  	s32		tv_usec;
>  };
>  
> +/* ILP32 uses 64bit time_t and not the above compat structures */
> +#define COMPAT_USE_64BIT_TIME !is_a32_compat_task()

Brackets.

BTW, you could write is_ilp32_compat_task().
diff mbox

Patch

diff --git a/arch/arm64/include/asm/compat.h b/arch/arm64/include/asm/compat.h
index 85f945c..c77fc0f 100644
--- a/arch/arm64/include/asm/compat.h
+++ b/arch/arm64/include/asm/compat.h
@@ -76,6 +76,9 @@  struct compat_timeval {
 	s32		tv_usec;
 };
 
+/* ILP32 uses 64bit time_t and not the above compat structures */
+#define COMPAT_USE_64BIT_TIME !is_a32_compat_task()
+
 struct compat_stat {
 #ifdef __AARCH64EB__
 	short		st_dev;