diff options
author | Edgar E. Iglesias <edgar.iglesias@gmail.com> | 2012-02-23 23:52:25 -0500 |
---|---|---|
committer | Michal Simek <monstr@monstr.eu> | 2012-05-25 00:41:18 -0400 |
commit | d5c15f17844b8883bc13b61a8ae114f0d3d59cdd (patch) | |
tree | ce21cc8c43d6cedb18bfec77df7386b26b7601d6 /arch/microblaze/kernel/process.c | |
parent | 8d95e1224afa22e7881fc823849342b5602d736e (diff) |
microblaze: Setup correct pointer to TLS area
Setup a pointer to the TLS area in copy_thread.
r10 is 6th argumetn which contains TLS area.
And r21 is the thread reg.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Signed-off-by: David Holsgrove <david.holsgrove@petalogix.com>
Signed-off-by: Michal Simek <monstr@monstr.eu>
Diffstat (limited to 'arch/microblaze/kernel/process.c')
-rw-r--r-- | arch/microblaze/kernel/process.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/microblaze/kernel/process.c b/arch/microblaze/kernel/process.c index 883b92789cdf..1944e00f07e1 100644 --- a/arch/microblaze/kernel/process.c +++ b/arch/microblaze/kernel/process.c | |||
@@ -182,8 +182,12 @@ int copy_thread(unsigned long clone_flags, unsigned long usp, | |||
182 | #endif | 182 | #endif |
183 | ti->cpu_context.r15 = (unsigned long)ret_from_fork - 8; | 183 | ti->cpu_context.r15 = (unsigned long)ret_from_fork - 8; |
184 | 184 | ||
185 | /* | ||
186 | * r21 is the thread reg, r10 is 6th arg to clone | ||
187 | * which contains TLS area | ||
188 | */ | ||
185 | if (clone_flags & CLONE_SETTLS) | 189 | if (clone_flags & CLONE_SETTLS) |
186 | ; | 190 | childregs->r21 = childregs->r10; |
187 | 191 | ||
188 | return 0; | 192 | return 0; |
189 | } | 193 | } |