From mboxrd@z Thu Jan 1 00:00:00 1970 From: bamvor.zhangjian@huawei.com (Zhangjian (Bamvor)) Date: Sun, 12 Jun 2016 20:21:04 +0800 Subject: [PATCH 13/23] arm64: introduce is_a32_task and is_a32_thread (for AArch32 compat) In-Reply-To: <1464048292-30136-14-git-send-email-ynorov@caviumnetworks.com> References: <1464048292-30136-1-git-send-email-ynorov@caviumnetworks.com> <1464048292-30136-14-git-send-email-ynorov@caviumnetworks.com> Message-ID: <575D53B0.5020408@huawei.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Hi, Yury On 2016/5/24 8:04, Yury Norov wrote: > Based on patch of Andrew Pinski. > > This patch introduces is_a32_compat_task and is_a32_thread so it is > easier to say this is a a32 specific thread or a generic compat thread/task. > Corresponding functions are located in to avoid mess in > headers. > > Some files include both and , > and this is wrong because has already > included. It was fixed too. > > Signed-off-by: Yury Norov > Signed-off-by: Philipp Tomsich > Signed-off-by: Christoph Muellner > Signed-off-by: Andrew Pinski > Reviewed-by: David Daney > --- > arch/arm64/include/asm/compat.h | 19 ++---------- > arch/arm64/include/asm/elf.h | 10 +++---- > arch/arm64/include/asm/ftrace.h | 2 +- > arch/arm64/include/asm/is_compat.h | 58 ++++++++++++++++++++++++++++++++++++ > arch/arm64/include/asm/memory.h | 3 +- > arch/arm64/include/asm/processor.h | 5 ++-- > arch/arm64/include/asm/syscall.h | 2 +- > arch/arm64/include/asm/thread_info.h | 2 +- > arch/arm64/kernel/hw_breakpoint.c | 10 +++---- > arch/arm64/kernel/perf_regs.c | 2 +- > arch/arm64/kernel/process.c | 7 ++--- > arch/arm64/kernel/ptrace.c | 11 ++++--- > arch/arm64/kernel/signal.c | 4 +-- > arch/arm64/kernel/traps.c | 3 +- > 14 files changed, 91 insertions(+), 47 deletions(-) > create mode 100644 arch/arm64/include/asm/is_compat.h > [...] > diff --git a/arch/arm64/include/asm/memory.h b/arch/arm64/include/asm/memory.h > index 12f8a00..a66a0f7 100644 > --- a/arch/arm64/include/asm/memory.h > +++ b/arch/arm64/include/asm/memory.h > @@ -26,6 +26,7 @@ > #include > #include > #include > +#include > > /* > * Allow for constants defined here to be used from assembly code > @@ -61,7 +62,7 @@ > > #ifdef CONFIG_COMPAT > #define TASK_SIZE_32 UL(0x100000000) > -#define TASK_SIZE (test_thread_flag(TIF_32BIT) ? \ > +#define TASK_SIZE (is_compat_task() ? \ > TASK_SIZE_32 : TASK_SIZE_64) > #define TASK_SIZE_OF(tsk) (test_tsk_thread_flag(tsk, TIF_32BIT) ? \ > TASK_SIZE_32 : TASK_SIZE_64) Should we update or delete this macro? #define TASK_SIZE_OF(tsk) (is_compat_task() ? \ TASK_SIZE_32 : TASK_SIZE_64) x86, sparc, mips, ppc, parisc, s390 define its own version. But "include/linux/sched.h" will define it if TASK_SIZE_OF does not exist: #ifndef TASK_SIZE_OF #define TASK_SIZE_OF(tsk) TASK_SIZE #endif Regards Bamvor