diff options
author | Edgar E. Iglesias <edgar.iglesias@gmail.com> | 2012-02-24 14:52:25 +1000 |
---|---|---|
committer | Michal Simek <monstr@monstr.eu> | 2012-05-25 06:41:18 +0200 |
commit | d5c15f17844b8883bc13b61a8ae114f0d3d59cdd (patch) | |
tree | ce21cc8c43d6cedb18bfec77df7386b26b7601d6 /arch/microblaze | |
parent | 8d95e1224afa22e7881fc823849342b5602d736e (diff) | |
download | blackbird-op-linux-d5c15f17844b8883bc13b61a8ae114f0d3d59cdd.tar.gz blackbird-op-linux-d5c15f17844b8883bc13b61a8ae114f0d3d59cdd.zip |
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')
-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, #endif ti->cpu_context.r15 = (unsigned long)ret_from_fork - 8; + /* + * r21 is the thread reg, r10 is 6th arg to clone + * which contains TLS area + */ if (clone_flags & CLONE_SETTLS) - ; + childregs->r21 = childregs->r10; return 0; } |