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
next prev 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.