From e0daa22c292b5835a946716b9a2092b30c7d9d31 Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Sun, 24 May 2020 23:14:23 +0200 Subject: [PATCH] c6x: switch to copy_thread_tls() Use the copy_thread_tls() calling convention which passes tls through a register. This is required so we can remove the copy_thread{_tls}() split and remove the HAVE_COPY_THREAD_TLS macro. CC: Mark Salter Cc: Aurelien Jacquiot Cc: linux-c6x-dev@linux-c6x.org Signed-off-by: Christian Brauner --- arch/c6x/Kconfig | 1 + arch/c6x/kernel/process.c | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/arch/c6x/Kconfig b/arch/c6x/Kconfig index 6444ebfd06a6..9cde76a5928e 100644 --- a/arch/c6x/Kconfig +++ b/arch/c6x/Kconfig @@ -22,6 +22,7 @@ config C6X select GENERIC_CLOCKEVENTS select MODULES_USE_ELF_RELA select MMU_GATHER_NO_RANGE if MMU + select HAVE_COPY_THREAD_TLS config MMU def_bool n diff --git a/arch/c6x/kernel/process.c b/arch/c6x/kernel/process.c index cb9c8b63cddd..afa3ea9a93aa 100644 --- a/arch/c6x/kernel/process.c +++ b/arch/c6x/kernel/process.c @@ -104,9 +104,9 @@ void start_thread(struct pt_regs *regs, unsigned int pc, unsigned long usp) /* * Copy a new thread context in its stack. */ -int copy_thread(unsigned long clone_flags, unsigned long usp, - unsigned long ustk_size, - struct task_struct *p) +int copy_thread_tls(unsigned long clone_flags, unsigned long usp, + unsigned long ustk_size, struct task_struct *p, + unsigned long tls) { struct pt_regs *childregs;