diff options
| author | Maxim Kuvyrkov <maxim@codesourcery.com> | 2009-12-07 03:24:27 -0500 |
|---|---|---|
| committer | Geert Uytterhoeven <geert@linux-m68k.org> | 2010-02-27 12:31:19 -0500 |
| commit | 9674cdc74d63f346870943ef966a034f8c71ee57 (patch) | |
| tree | c590640335983c5b1a7f5c9589478bf90fb68d03 /arch/m68k/kernel/process.c | |
| parent | f54bcdc2b81558a2b7e624cfeb4992422d9265f9 (diff) | |
m68k: Add NPTL support
This patch adds several syscalls, that provide necessary
functionality to support NPTL on m68k/ColdFire.
The syscalls are get_thread_area, set_thread_area, atomic_cmpxchg_32 and
atomic_barrier.
The cmpxchg syscall is required for ColdFire as it doesn't support 'cas'
instruction.
Also a ptrace call PTRACE_GET_THREAD_AREA is added to allow debugger to
inspect the TLS storage.
Signed-off-by: Maxim Kuvyrkov <maxim@codesourcery.com>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Diffstat (limited to 'arch/m68k/kernel/process.c')
| -rw-r--r-- | arch/m68k/kernel/process.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/m68k/kernel/process.c b/arch/m68k/kernel/process.c index 05296593e718..17c3f325255d 100644 --- a/arch/m68k/kernel/process.c +++ b/arch/m68k/kernel/process.c | |||
| @@ -251,6 +251,10 @@ int copy_thread(unsigned long clone_flags, unsigned long usp, | |||
| 251 | 251 | ||
| 252 | p->thread.usp = usp; | 252 | p->thread.usp = usp; |
| 253 | p->thread.ksp = (unsigned long)childstack; | 253 | p->thread.ksp = (unsigned long)childstack; |
| 254 | |||
| 255 | if (clone_flags & CLONE_SETTLS) | ||
| 256 | task_thread_info(p)->tp_value = regs->d5; | ||
| 257 | |||
| 254 | /* | 258 | /* |
| 255 | * Must save the current SFC/DFC value, NOT the value when | 259 | * Must save the current SFC/DFC value, NOT the value when |
| 256 | * the parent was last descheduled - RGH 10-08-96 | 260 | * the parent was last descheduled - RGH 10-08-96 |
