[PATCH] uml: x86_64 thread fixes
authorJeff Dike <jdike@addtoit.com>
Sat, 10 Feb 2007 09:44:29 +0000 (01:44 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Sun, 11 Feb 2007 18:51:24 +0000 (10:51 -0800)
commitf355559cf78455ed6be103b020e4b800230c64eb
tree0de116766d38975f75178e299031d55967eaa9d7
parent3a150e1da8bc4e840d5a09fc089052011b5b6503
[PATCH] uml: x86_64 thread fixes

x86_64 needs some TLS fixes.  What was missing was remembering the child
thread id during clone and stuffing it into the child during each context
switch.

The %fs value is stored separately in the thread structure since the host
controls what effect it has on the actual register file.  The host also needs
to store it in its own thread struct, so we need the value kept outside the
register file.

arch_prctl_skas was fixed to call PTRACE_ARCH_PRCTL appropriately.  There is
some saving and restoring of registers in the ARCH_SET_* cases so that the
correct set of registers are changed on the host and restored to the process
when it runs again.

Signed-off-by: Jeff Dike <jdike@addtoit.com>
Cc: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/um/include/os.h
arch/um/os-Linux/sys-x86_64/Makefile
arch/um/os-Linux/sys-x86_64/prctl.c [new file with mode: 0644]
arch/um/sys-x86_64/syscalls.c
arch/um/sys-x86_64/tls.c
include/asm-um/processor-x86_64.h
include/asm-um/ptrace-x86_64.h