All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christian Brauner <christian.brauner@ubuntu.com>
To: linux-kernel@vger.kernel.org
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	Christian Brauner <christian.brauner@ubuntu.com>,
	linux-alpha@vger.kernel.org
Subject: [PATCH 09/17] alpha: switch to copy_thread_tls()
Date: Tue, 23 Jun 2020 01:43:18 +0200	[thread overview]
Message-ID: <20200622234326.906346-10-christian.brauner@ubuntu.com> (raw)
In-Reply-To: <20200622234326.906346-1-christian.brauner@ubuntu.com>

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: linux-alpha@vger.kernel.org
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
---
 arch/alpha/Kconfig          | 1 +
 arch/alpha/kernel/process.c | 9 ++++-----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig
index 10862c5a8c76..b01515c6b2ed 100644
--- a/arch/alpha/Kconfig
+++ b/arch/alpha/Kconfig
@@ -38,6 +38,7 @@ config ALPHA
 	select OLD_SIGSUSPEND
 	select CPU_NO_EFFICIENT_FFS if !ALPHA_EV67
 	select MMU_GATHER_NO_RANGE
+	select HAVE_COPY_THREAD_TLS
 	help
 	  The Alpha is a 64-bit general-purpose processor designed and
 	  marketed by the Digital Equipment Corporation of blessed memory,
diff --git a/arch/alpha/kernel/process.c b/arch/alpha/kernel/process.c
index b45f0b0d6511..dfdb6b6ba61c 100644
--- a/arch/alpha/kernel/process.c
+++ b/arch/alpha/kernel/process.c
@@ -233,10 +233,9 @@ release_thread(struct task_struct *dead_task)
 /*
  * Copy architecture-specific thread state
  */
-int
-copy_thread(unsigned long clone_flags, unsigned long usp,
-	    unsigned long kthread_arg,
-	    struct task_struct *p)
+int copy_thread_tls(unsigned long clone_flags, unsigned long usp,
+		    unsigned long kthread_arg, struct task_struct *p,
+		    unsigned long tls)
 {
 	extern void ret_from_fork(void);
 	extern void ret_from_kernel_thread(void);
@@ -267,7 +266,7 @@ copy_thread(unsigned long clone_flags, unsigned long usp,
 	   required for proper operation in the case of a threaded
 	   application calling fork.  */
 	if (clone_flags & CLONE_SETTLS)
-		childti->pcb.unique = regs->r20;
+		childti->pcb.unique = tls;
 	else
 		regs->r20 = 0;	/* OSF/1 has some strange fork() semantics.  */
 	childti->pcb.usp = usp ?: rdusp();
-- 
2.27.0


  parent reply	other threads:[~2020-06-22 23:47 UTC|newest]

Thread overview: 89+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-22 23:43 [PATCH 00/17] arch: remove do_fork() and HAVE_COPY_THREAD_TLS Christian Brauner
2020-06-22 23:43 ` [PATCH 01/17] fork: fold legacy_clone_args_valid() into _do_fork() Christian Brauner
2020-06-27  8:27   ` [fork] 11689456e6: ltp.clone302.fail kernel test robot
2020-06-27 12:23     ` Christian Brauner
2020-06-22 23:43 ` [PATCH 02/17] sparc64: enable HAVE_COPY_THREAD_TLS Christian Brauner
2020-06-22 23:43   ` Christian Brauner
2020-06-23  3:35   ` David Miller
2020-06-23  3:35     ` David Miller
2020-06-23  8:42     ` Christian Brauner
2020-06-23  8:42       ` Christian Brauner
2020-06-22 23:43 ` [PATCH 03/17] sparc: share process creation helpers between sparc and sparc64 Christian Brauner
2020-06-22 23:43   ` Christian Brauner
2020-06-22 23:43 ` [PATCH 04/17] sparc: unconditionally enable HAVE_COPY_THREAD_TLS Christian Brauner
2020-06-22 23:43   ` Christian Brauner
2020-06-22 23:43 ` [PATCH 05/17] ia64: enable HAVE_COPY_THREAD_TLS, switch to kernel_clone_args Christian Brauner
2020-06-22 23:43   ` Christian Brauner
2020-06-22 23:43 ` [PATCH 06/17] nios2: " Christian Brauner
2020-06-22 23:43 ` [PATCH 07/17] h8300: select " Christian Brauner
2020-06-22 23:43 ` [PATCH 08/17] fork: remove do_fork() Christian Brauner
2020-06-22 23:43 ` Christian Brauner [this message]
2020-06-22 23:43 ` [PATCH 10/17] c6x: switch to copy_thread_tls() Christian Brauner
2020-06-22 23:43 ` [PATCH 11/17] hexagon: " Christian Brauner
2020-06-23 16:11   ` Brian Cain
2020-06-23 16:11     ` Brian Cain
2020-06-22 23:43 ` [PATCH 12/17] microblaze: " Christian Brauner
2020-06-22 23:43 ` [PATCH 13/17] nds32: " Christian Brauner
2020-06-22 23:43 ` [PATCH 14/17] sh: " Christian Brauner
2020-06-22 23:43   ` Christian Brauner
2020-06-22 23:43 ` [PATCH 15/17] unicore: " Christian Brauner
2020-06-22 23:43 ` [PATCH 16/17] arch: remove HAVE_COPY_THREAD_TLS Christian Brauner
2020-06-22 23:43   ` Christian Brauner
2020-06-22 23:43   ` Christian Brauner
2020-06-22 23:43   ` [OpenRISC] " Christian Brauner
2020-06-23  0:44   ` Kees Cook
2020-06-23  0:44     ` Kees Cook
2020-06-23  0:44     ` Kees Cook
2020-06-23  0:44     ` [OpenRISC] " Kees Cook
2020-06-23  7:37   ` Geert Uytterhoeven
2020-06-23  7:37     ` Geert Uytterhoeven
2020-06-23  7:37     ` Geert Uytterhoeven
2020-06-23  7:37     ` [OpenRISC] " Geert Uytterhoeven
2020-06-25  8:25   ` Thomas Bogendoerfer
2020-06-25  8:25     ` Thomas Bogendoerfer
2020-06-25  8:25     ` Thomas Bogendoerfer
2020-06-25  8:25     ` [OpenRISC] " Thomas Bogendoerfer
2020-06-25  8:25     ` Thomas Bogendoerfer
2020-06-25  8:25     ` Thomas Bogendoerfer
2020-06-27  3:06   ` Greentime Hu
2020-06-27  3:06     ` Greentime Hu
2020-06-27  3:06     ` Greentime Hu
2020-06-27  3:06     ` [OpenRISC] " Greentime Hu
2020-06-27  3:06     ` Greentime Hu
2020-06-27  3:06     ` Greentime Hu
2020-06-22 23:43 ` [PATCH 17/17] arch: rename copy_thread_tls() back to copy_thread() Christian Brauner
2020-06-22 23:43   ` Christian Brauner
2020-06-22 23:43   ` Christian Brauner
2020-06-22 23:43   ` [OpenRISC] " Christian Brauner
2020-06-23  0:46   ` Kees Cook
2020-06-23  0:46     ` Kees Cook
2020-06-23  0:46     ` Kees Cook
2020-06-23  0:46     ` [OpenRISC] " Kees Cook
2020-06-23  7:38   ` Geert Uytterhoeven
2020-06-23  7:38     ` Geert Uytterhoeven
2020-06-23  7:38     ` Geert Uytterhoeven
2020-06-23  7:38     ` [OpenRISC] " Geert Uytterhoeven
2020-06-25  8:26   ` Thomas Bogendoerfer
2020-06-25  8:26     ` Thomas Bogendoerfer
2020-06-25  8:26     ` Thomas Bogendoerfer
2020-06-25  8:26     ` [OpenRISC] " Thomas Bogendoerfer
2020-06-25  8:26     ` Thomas Bogendoerfer
2020-06-25  8:26     ` Thomas Bogendoerfer
2020-06-25 21:17   ` Stafford Horne
2020-06-25 21:17     ` Stafford Horne
2020-06-25 21:17     ` Stafford Horne
2020-06-25 21:17     ` [OpenRISC] " Stafford Horne
2020-06-25 21:17     ` Stafford Horne
2020-06-25 21:17     ` Stafford Horne
2020-07-04 16:10     ` Christian Brauner
2020-07-04 16:11       ` [OpenRISC] " Christian Brauner
2020-07-04 16:10       ` Christian Brauner
2020-07-04 16:10       ` Christian Brauner
2020-07-04 16:10       ` Christian Brauner
2020-07-04 16:10       ` Christian Brauner
2020-06-27  3:10   ` Greentime Hu
2020-06-27  3:10     ` Greentime Hu
2020-06-27  3:10     ` Greentime Hu
2020-06-27  3:10     ` [OpenRISC] " Greentime Hu
2020-06-27  3:10     ` Greentime Hu
2020-06-27  3:10     ` Greentime Hu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200622234326.906346-10-christian.brauner@ubuntu.com \
    --to=christian.brauner@ubuntu.com \
    --cc=linux-alpha@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.