Skip to content

Commit ad1bb82

Browse files
author
Christian Brauner
committed
microblaze: 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: Michal Simek <[email protected]> Signed-off-by: Christian Brauner <[email protected]>
1 parent 643d48b commit ad1bb82

File tree

2 files changed

+4
-3
lines changed

2 files changed

+4
-3
lines changed

arch/microblaze/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ config MICROBLAZE
4646
select CPU_NO_EFFICIENT_FFS
4747
select MMU_GATHER_NO_RANGE if MMU
4848
select SPARSE_IRQ
49+
select HAVE_COPY_THREAD_TLS
4950

5051
# Endianness selection
5152
choice

arch/microblaze/kernel/process.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,8 @@ void flush_thread(void)
5454
{
5555
}
5656

57-
int copy_thread(unsigned long clone_flags, unsigned long usp,
58-
unsigned long arg, struct task_struct *p)
57+
int copy_thread_tls(unsigned long clone_flags, unsigned long usp,
58+
unsigned long arg, struct task_struct *p, unsigned long tls)
5959
{
6060
struct pt_regs *childregs = task_pt_regs(p);
6161
struct thread_info *ti = task_thread_info(p);
@@ -114,7 +114,7 @@ int copy_thread(unsigned long clone_flags, unsigned long usp,
114114
* which contains TLS area
115115
*/
116116
if (clone_flags & CLONE_SETTLS)
117-
childregs->r21 = childregs->r10;
117+
childregs->r21 = tls;
118118

119119
return 0;
120120
}

0 commit comments

Comments
 (0)