From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1759572AbdAILc7 (ORCPT ); Mon, 9 Jan 2017 06:32:59 -0500 Received: from mail-by2nam01on0043.outbound.protection.outlook.com ([104.47.34.43]:35840 "EHLO NAM01-BY2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1759477AbdAILcv (ORCPT ); Mon, 9 Jan 2017 06:32:51 -0500 Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Yuri.Norov@caviumnetworks.com; From: Yury Norov To: , , , "linux-arch @ vger . kernel . org Arnd Bergmann" , Catalin Marinas CC: Yury Norov , Andrew Pinski , Andrew Pinski , Adam Borowski , Chris Metcalf , Steve Ellcey , Maxim Kuvyrkov , Ramana Radhakrishnan , Florian Weimer , Bamvor Zhangjian , Andreas Schwab , Chris Metcalf , Heiko Carstens , , , Joseph Myers , , , , , , , , , , , , Subject: [PATCH 10/20] arm64: ilp32: add is_ilp32_compat_{task,thread} and TIF_32BIT_AARCH64 Date: Mon, 9 Jan 2017 16:59:47 +0530 Message-ID: <1483961397-8599-11-git-send-email-ynorov@caviumnetworks.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1483961397-8599-1-git-send-email-ynorov@caviumnetworks.com> References: <1483961397-8599-1-git-send-email-ynorov@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [103.78.20.242] X-ClientProxiedBy: AM4PR0701CA0006.eurprd07.prod.outlook.com (10.165.102.16) To SN1PR07MB2254.namprd07.prod.outlook.com (10.164.47.148) X-MS-Office365-Filtering-Correlation-Id: 1e85e0ee-2fe4-42a4-aae9-08d438833dc3 X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001);SRVR:SN1PR07MB2254; X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2254;3:lmATQtKe3J6IQdvp67mweUwjO9qwzy4oBS+50jgMIGeJx9ScDa9+NCDkCNlsrIkWf50EHFJiqagZyGZr+5XIK/BsUdkvO/WPC5lKwGGZpisYnJMSvu9M4thUAkBweCgLTKzLrEo+BKyWlasZBVHFwoBGDxk7uFSOto1p/ELbMK8pgliyu4UqYVZb99N4kOnxXG2fIRoxGagP2TTB8dHpm5bqYn735IvUfOYdp+osU4j+BLctxlzLASS9htw/O+38la5iCp14kZqKoi4Bnugs0A==;25:Lhag5ONeTrWa+swm3lNPqTFq31RlovObxeQBMG4u53Hv18bfrSlrDpG+elbr5GWhzDq/gsDK4oeHaE0UaKN57NuOi3LhHvkhZjk6yDJT1lvt8R9zAx69ezZ2KRyB1IRjM1QUVgbQVBXvjzhStuDiozPUDhddWhJ1dziJ+XJhWvrC5SX//D4N9pCunpVr6DUGje3aUTMxosRWwVpvPGz/ZnQn0w9aNB5MzvtcK1WHDejCawNqwcWAfG5a0b6dCIeDx2g6Cv0iHVSBFRc2dbfE6J8jc2P+Dp1MC0VZxMJt4veSjRxyMI0hJswhENHnAxFcnB4576EkDXHmA8x5DnhXKdcvAQ/U/xKyG3fLj/f++u1x7lOY+5Gfj2HMD6pK0GX2viOAMZiD/tJnsoIqtySdaIouC8ElPQBv3+IMAa+Iw1uqyrQTLJ3TJAuXElcjHB3acHJ+D8i+YTiwdLGcXsyrtQ== X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2254;31:EZdEazU/76Eet19vpjs5Rc2JzGuG2KxhusJzw4LlqixrHTRcBm8rtN5ypL6ZIIk/hhvutFdKuntV1JHjOinLwrleoDSYn+TkDYjiuOih33y5T1wVJOj04LRmIAjZ/fz8WFSFPraKc5tFNjQhaps6MX1lrmN+KfR5+xHu7eRO7S3pn1empmDLFCTCAr9AwBe793vmKBNz5gXouNE/vEgIX9sznLF4VEA9yeachScc8Ls2NpwMwKXSxBhFTMp+zeCy;20:7exU1EXGZXju04E1cm2QsYIOnsEfVF81qGUtYvJ3XTF7tLxE9zxucH15+z/toGQxK9ihRSk26+xNnAqVfaF9MGfhBflriAYwAjqSBDCfGOv9dF9PInznu94/sOD4/eoqxbn6XKnSh7Ju6T9mKdLRl64thV0lYoVw1+3sNMEKhWxG0t4YTITwi/Qn79z7MJhITJ7iYU0KY8BcqhFqvU1t1xM/mF6yKEccnAluHzga8S0U9O/VayGvihF8GJM+Kvm7wwupvH0EODSq3AvObndUliQ5ddXy2SNnKGLm/yC1QlJqxWPLYUa9uMR/lk48n8w7XSIp9c9PNguhQIn5eM9Ot/yUaO38p2UOWAHQNNW0bKel2H7C/YVqULJA2WKkcuVThx9yr3zHA6KQ3RIgahCM1F2SjpGAUp81Pk7eAKemrjlk6VUgSssZtw/0svB0G5Hd3fSO+Ypn93D8ed6HX8SmMX7yBB2FmoVVqCxUL1mF2fP9NUSl4BliFzcoHP3/fvLSv3zy1yzKIcK2ZTNil3fYE2OQil+CKPobMyBuk+KmSHLqT40FkNSEVTFDbvww6WwDP6wAhiyl24/7U/Dk0AuYY35ET0JyJnxooxMypV/zWzc= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040375)(601004)(2401047)(5005006)(8121501046)(3002001)(10201501046)(6041248)(20161123562025)(20161123555025)(20161123564025)(20161123560025)(6072148);SRVR:SN1PR07MB2254;BCL:0;PCL:0;RULEID:;SRVR:SN1PR07MB2254; X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2254;4:jBeV1bRmdMzQTbBzBhA4SWK4YnN5QJAmnxkIsMdaF01VBFAMFvWIS2U0Ai6wK4noCjBiEWgWfgEt+4HCQ53dgqaYE4hj0InGs4+rLg56c2n14sIGE/4DohKZVMHa25eHNS1JNktnPiE9UrVVuT59TnNOgKI3EwNXFMtII6yQBE6lREGR8zMo4osTPDriQOeAcvJcrPysBIlwkxjlXOAUzbmBQ9/MYsy06pfHhAwYbMM9TTLkRBQ9A2w78MZXTXAWtV/xV/RqAJbC0XIin70IaZpZmAfrTURbFpkAm/rKM3Zxp63+hiEdXtcw56C0NDLI72vnMM8JSYCtDhKcWqWqlhINJExhOCXVyK3EF5aFUnpfaPTTdf6aGjF4EBxd3GOZKl95ZdPpNAZEzKKojkfLCcxiAlT54FC1Pz4ojCKjfsgpKiNO5CRHMGAuSI6LllsNd52HRe7W9miBLcZx9o4pU0mUU6zs+vfZMJ8oC42fnMsYZEm8xWz65P8qlKrghVbfp8ERFdheBJ7Oehx+9S/B3yEb5kiidllbPW7oDI/IQidRd/L2NNxij/pRD4MVZ/otFbpLSpZdWQygiNBW4hi4ow== X-Forefront-PRVS: 0182DBBB05 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10009020)(4630300001)(6069001)(6009001)(7916002)(39450400003)(189002)(199003)(50226002)(2201001)(101416001)(5003940100001)(48376002)(54906002)(305945005)(68736007)(92566002)(7736002)(189998001)(50466002)(33646002)(2906002)(66066001)(47776003)(8676002)(3846002)(105586002)(106356001)(81156014)(81166006)(6496003)(6486002)(6116002)(5001770100001)(39060400001)(38730400001)(97736004)(7416002)(25786008)(76506005)(50986999)(36756003)(76176999)(2950100002)(42186005)(5660300001)(4326007)(15760500002)(142933001)(2101003);DIR:OUT;SFP:1101;SCL:1;SRVR:SN1PR07MB2254;H:localhost;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN1PR07MB2254;23:qbS2kmw4PKC0rsE9LUppfUCYHXdDsTOVZ/7QK3Jw8?= =?us-ascii?Q?rIHx0GR7IVw3bdYYd1TePZQkFTrPNovfdMd5rISytJZyXVmdfdmtruYK9MI3?= =?us-ascii?Q?0b0y7sGqnDmxTAko/+TtS9q32fxCNGH8S2zSlqPlWWkl6lWjnhvNYGoUslOZ?= =?us-ascii?Q?pc2hZwCcHObvP3TWy7JryP+GUpX1hzHJ5o1i+bl1IfdrYwLlTMc7dcslHpGy?= =?us-ascii?Q?tZ1iEgDMsEMtYdxYlZdNBmNmnuzauEvopXVLRbvjgoSLotT2+3cpz3L5oc8D?= =?us-ascii?Q?YRNf8QkQ4MenOWpLIfskoMyk0cw5sJyDhRQsRB5AFy/XUNaW8jHH6jXK64kK?= =?us-ascii?Q?udFt8SGWNbd0aHmGiXlDDFZKzfDs+2QrMhawH23zBXf5/0tuspWLsVTqtxqW?= =?us-ascii?Q?SSY3TeXjHAfbIOQaHx21Z1erTE8k/yWH00OpAchFbqF0sCtAcyqIKKKFOEE9?= =?us-ascii?Q?2tXjqwtGfA06ZbbDsxvrUTe+yGkWhOJO/pC24AH/WTZRUNZGlt+agtKDbe+W?= =?us-ascii?Q?dHrYLu/GashGif9fzU5cX5z7ljQE1KrA8RZMuxkYddTSlx+tOF1hHxot1DCG?= =?us-ascii?Q?s6AmXBESCm0rmsSSa0W2LqZON3q4kv+m8Kvi5v+cw2XvCx+kVRVUhEXrmiEX?= =?us-ascii?Q?nJxi7dYIQseYpwFEgoG8LNdXI3K5ap2l5dAvx6bprK7zxEjeqilnK+lDTKbT?= =?us-ascii?Q?DxZQthciVSM5xMdAKj3ExznA8mb0yjWoOFVoMUadg87Dcdz3Q643BpEcO4lB?= =?us-ascii?Q?F8OvMHJafBOmqd0jOBDOx6WKiuQsAoSDoYIVr046uJUehqhAa0dnN7yzSrTL?= =?us-ascii?Q?1D11oTroibUBf0pYopxD1+JYz/cd1nhhm/slUG9UcNiQKuc2SEAO6D1/vF01?= =?us-ascii?Q?TOJoC79U6RdFO4OS65NmLXeS+QPrza3vUhzw9Dgk0aXmA4X3XNKtIlCycv9Q?= =?us-ascii?Q?ceVuSE1U7KST811CHgRkEMivwbuKMjovG9aQ3rmhrcWxoLj89gHQ7aum9jHk?= =?us-ascii?Q?2a9pN36KwLVgWW/z0ovwbQa1CoLX2wbV4yAZz5QGJle8XM3wN9+MkMogb7aM?= =?us-ascii?Q?IMIBefI+KxNQDpeirz+J+/c5qJVF4zDjuzKGEU2uL3wAdREvecVXxTigOyRM?= =?us-ascii?Q?+2JVxRTyGcJyxFqnxqaHFly1klzBIqtA5OtffgfuClkemBBm/Wq17FKD15Qn?= =?us-ascii?Q?ulLoP9QTeRhUMAQnk7KkvkEe7YMKgZzLqik?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2254;6:n9LosXFQZy2fW1bsU6C0kQ4PcDmSQTL25Fil5OZDZd8aVILynhjK1fvfJeI4wsQU5NPYGCZ6mQKw7t3w2HnOM9q7iuEz51MB2TsWGo7Jq8u2mcT5PJoafCyZe8NytwHGdFv2qJqrE8gWnJt0wtg+Ef+v2IluJBg0GzMtnZtSiSwLXIlB4g2bXRFRlZYfA98lj7ibYELrWN8QMNUBLMHydFUfIRZ1sRkoixRdBy2kEMzYNhQFd19SC0nXmduLP0akkFPv6z5QtmhKYNjyuzfIuH7+rC9rTqgOCL6wZ8gHK0k4jjSKuN27rF2nxqmm9LryZ9M9RqhV3I0dVR09NCRVavEH/cOAMaK/PrOJ3tQltdGrB4XrOoFYMVcuIOOOqqPFYazDJPQHeqzGeRjDXYIHcjFIfsXCP4yDkLVqJJ/3jtc=;5:IDN9bUtmOH6UwxXH4QwM80/UKzLvCdbLAHMKWVQmiNGBIOsv+lx4KF1ObwI2gwF8SkTmtcZVc9o7uJd/TdE0ThHMca+pDVcW5B6iXkoWVloSEjm7gdZgXeI+rv/4onFYZ0oJFt/cJNHqrEDx0UfbXQ==;24:O29IX4qkhfirUQcI6zQoN+BTDIK9206NTcZQvapymyxubUWc7q1RBK0Ewh1zGqlF/Bn0Ugyy7F7WiqE8YW60IZPOvCzhoIN3qVzqiL/3PQA= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SN1PR07MB2254;7:Qy2gY2x5q93507lRZusi+v4mYGQE6zSkDF63uJ0AY740pmi4X5yEpMIFx63cAqes5OiB0Pj0ivEN7BsiGfDgPbY0/KXQRHMup64JBWYhF1GZapgj3gzzl30oWsdTkeTKbxn/PtaQbJ8+azwu+xGeMxHwNsMrs605nYAMvruNTmh82R8LRuDW/e2gyPAi2YUps1CrmXm3Nto7azcFLT7djL45gjZzGElyfB/RT6BtlSWyLic9HePKCiHVuK8L3eIPMwUx8WlHklgfn9y0UPVWQQTlUwcpX3wiGsDt04O4BR6HJAwB710lAzgFKQCMIlrueK6/WecD5Y68BLZIlFj6KvwuM+jeIU2CXNXwnW3d+/7MksmrCKgoZfFPeg3UMmohhB7YihNRDnWnZMI0QmoNZYUeec8qfUmr2c8SCzUUtD45/XuQEm8pe9A290th75Q41nmeQA/7x2xc+WzgcgHCJA== X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2017 11:32:48.6290 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR07MB2254 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org ILP32 tasks are needed to be distinguished from lp64 and aarch32. This patch adds helper functions is_ilp32_compat_{task,thread} and thread flag TIF_32BIT_AARCH64 to address it. This is a preparation for following patches in ilp32 patchset. For consistency, SET_PERSONALITY is changed here accordingly. Signed-off-by: Andrew Pinski Signed-off-by: Philipp Tomsich Signed-off-by: Christoph Muellner Signed-off-by: Yury Norov Reviewed-by: David Daney --- arch/arm64/include/asm/elf.h | 2 ++ arch/arm64/include/asm/is_compat.h | 30 ++++++++++++++++++++++++++++-- arch/arm64/include/asm/thread_info.h | 2 ++ 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/arch/arm64/include/asm/elf.h b/arch/arm64/include/asm/elf.h index 192d295..a0188e2 100644 --- a/arch/arm64/include/asm/elf.h +++ b/arch/arm64/include/asm/elf.h @@ -145,6 +145,7 @@ typedef struct user_fpsimd_state elf_fpregset_t; #define SET_PERSONALITY(ex) \ ({ \ clear_bit(TIF_32BIT, ¤t->mm->context.flags); \ + clear_thread_flag(TIF_32BIT_AARCH64); \ clear_thread_flag(TIF_32BIT); \ }) @@ -190,6 +191,7 @@ typedef compat_elf_greg_t compat_elf_gregset_t[COMPAT_ELF_NGREG]; #define COMPAT_SET_PERSONALITY(ex) \ ({ \ set_bit(TIF_32BIT, ¤t->mm->context.flags); \ + clear_thread_flag(TIF_32BIT_AARCH64); \ set_thread_flag(TIF_32BIT); \ }) #define COMPAT_ARCH_DLINFO diff --git a/arch/arm64/include/asm/is_compat.h b/arch/arm64/include/asm/is_compat.h index 8dba5ca..7726beb 100644 --- a/arch/arm64/include/asm/is_compat.h +++ b/arch/arm64/include/asm/is_compat.h @@ -45,18 +45,44 @@ static inline int is_a32_compat_thread(struct thread_info *thread) #endif /* CONFIG_AARCH32_EL0 */ +#ifdef CONFIG_ARM64_ILP32 + +static inline int is_ilp32_compat_task(void) +{ + return test_thread_flag(TIF_32BIT_AARCH64); +} + +static inline int is_ilp32_compat_thread(struct thread_info *thread) +{ + return test_ti_thread_flag(thread, TIF_32BIT_AARCH64); +} + +#else + +static inline int is_ilp32_compat_task(void) +{ + return 0; +} + +static inline int is_ilp32_compat_thread(struct thread_info *thread) +{ + return 0; +} + +#endif /* CONFIG_ARM64_ILP32 */ + #ifdef CONFIG_COMPAT static inline int is_compat_task(void) { - return is_a32_compat_task(); + return is_a32_compat_task() || is_ilp32_compat_task(); } #endif /* CONFIG_COMPAT */ static inline int is_compat_thread(struct thread_info *thread) { - return is_a32_compat_thread(thread); + return is_a32_compat_thread(thread) || is_ilp32_compat_thread(thread); } diff --git a/arch/arm64/include/asm/thread_info.h b/arch/arm64/include/asm/thread_info.h index a7ffea2..abb60b5 100644 --- a/arch/arm64/include/asm/thread_info.h +++ b/arch/arm64/include/asm/thread_info.h @@ -96,6 +96,7 @@ struct thread_info { #define TIF_RESTORE_SIGMASK 20 #define TIF_SINGLESTEP 21 #define TIF_32BIT 22 /* AARCH32 process */ +#define TIF_32BIT_AARCH64 23 /* 32 bit process on AArch64(ILP32) */ #define _TIF_SIGPENDING (1 << TIF_SIGPENDING) #define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED) @@ -108,6 +109,7 @@ struct thread_info { #define _TIF_SECCOMP (1 << TIF_SECCOMP) #define _TIF_UPROBE (1 << TIF_UPROBE) #define _TIF_32BIT (1 << TIF_32BIT) +#define _TIF_32BIT_AARCH64 (1 << TIF_32BIT_AARCH64) #define _TIF_WORK_MASK (_TIF_NEED_RESCHED | _TIF_SIGPENDING | \ _TIF_NOTIFY_RESUME | _TIF_FOREIGN_FPSTATE | \ -- 2.7.4 From mboxrd@z Thu Jan 1 00:00:00 1970 From: ynorov@caviumnetworks.com (Yury Norov) Date: Mon, 9 Jan 2017 16:59:47 +0530 Subject: [PATCH 10/20] arm64: ilp32: add is_ilp32_compat_{task, thread} and TIF_32BIT_AARCH64 In-Reply-To: <1483961397-8599-1-git-send-email-ynorov@caviumnetworks.com> References: <1483961397-8599-1-git-send-email-ynorov@caviumnetworks.com> Message-ID: <1483961397-8599-11-git-send-email-ynorov@caviumnetworks.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org ILP32 tasks are needed to be distinguished from lp64 and aarch32. This patch adds helper functions is_ilp32_compat_{task,thread} and thread flag TIF_32BIT_AARCH64 to address it. This is a preparation for following patches in ilp32 patchset. For consistency, SET_PERSONALITY is changed here accordingly. Signed-off-by: Andrew Pinski Signed-off-by: Philipp Tomsich Signed-off-by: Christoph Muellner Signed-off-by: Yury Norov Reviewed-by: David Daney --- arch/arm64/include/asm/elf.h | 2 ++ arch/arm64/include/asm/is_compat.h | 30 ++++++++++++++++++++++++++++-- arch/arm64/include/asm/thread_info.h | 2 ++ 3 files changed, 32 insertions(+), 2 deletions(-) diff --git a/arch/arm64/include/asm/elf.h b/arch/arm64/include/asm/elf.h index 192d295..a0188e2 100644 --- a/arch/arm64/include/asm/elf.h +++ b/arch/arm64/include/asm/elf.h @@ -145,6 +145,7 @@ typedef struct user_fpsimd_state elf_fpregset_t; #define SET_PERSONALITY(ex) \ ({ \ clear_bit(TIF_32BIT, ¤t->mm->context.flags); \ + clear_thread_flag(TIF_32BIT_AARCH64); \ clear_thread_flag(TIF_32BIT); \ }) @@ -190,6 +191,7 @@ typedef compat_elf_greg_t compat_elf_gregset_t[COMPAT_ELF_NGREG]; #define COMPAT_SET_PERSONALITY(ex) \ ({ \ set_bit(TIF_32BIT, ¤t->mm->context.flags); \ + clear_thread_flag(TIF_32BIT_AARCH64); \ set_thread_flag(TIF_32BIT); \ }) #define COMPAT_ARCH_DLINFO diff --git a/arch/arm64/include/asm/is_compat.h b/arch/arm64/include/asm/is_compat.h index 8dba5ca..7726beb 100644 --- a/arch/arm64/include/asm/is_compat.h +++ b/arch/arm64/include/asm/is_compat.h @@ -45,18 +45,44 @@ static inline int is_a32_compat_thread(struct thread_info *thread) #endif /* CONFIG_AARCH32_EL0 */ +#ifdef CONFIG_ARM64_ILP32 + +static inline int is_ilp32_compat_task(void) +{ + return test_thread_flag(TIF_32BIT_AARCH64); +} + +static inline int is_ilp32_compat_thread(struct thread_info *thread) +{ + return test_ti_thread_flag(thread, TIF_32BIT_AARCH64); +} + +#else + +static inline int is_ilp32_compat_task(void) +{ + return 0; +} + +static inline int is_ilp32_compat_thread(struct thread_info *thread) +{ + return 0; +} + +#endif /* CONFIG_ARM64_ILP32 */ + #ifdef CONFIG_COMPAT static inline int is_compat_task(void) { - return is_a32_compat_task(); + return is_a32_compat_task() || is_ilp32_compat_task(); } #endif /* CONFIG_COMPAT */ static inline int is_compat_thread(struct thread_info *thread) { - return is_a32_compat_thread(thread); + return is_a32_compat_thread(thread) || is_ilp32_compat_thread(thread); } diff --git a/arch/arm64/include/asm/thread_info.h b/arch/arm64/include/asm/thread_info.h index a7ffea2..abb60b5 100644 --- a/arch/arm64/include/asm/thread_info.h +++ b/arch/arm64/include/asm/thread_info.h @@ -96,6 +96,7 @@ struct thread_info { #define TIF_RESTORE_SIGMASK 20 #define TIF_SINGLESTEP 21 #define TIF_32BIT 22 /* AARCH32 process */ +#define TIF_32BIT_AARCH64 23 /* 32 bit process on AArch64(ILP32) */ #define _TIF_SIGPENDING (1 << TIF_SIGPENDING) #define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED) @@ -108,6 +109,7 @@ struct thread_info { #define _TIF_SECCOMP (1 << TIF_SECCOMP) #define _TIF_UPROBE (1 << TIF_UPROBE) #define _TIF_32BIT (1 << TIF_32BIT) +#define _TIF_32BIT_AARCH64 (1 << TIF_32BIT_AARCH64) #define _TIF_WORK_MASK (_TIF_NEED_RESCHED | _TIF_SIGPENDING | \ _TIF_NOTIFY_RESUME | _TIF_FOREIGN_FPSTATE | \ -- 2.7.4