linux/arch/um/os-Linux
Paolo 'Blaisorblade' Giarrusso aa6758d486 [PATCH] uml: implement {get,set}_thread_area for i386
Implement sys_[gs]et_thread_area and the corresponding ptrace operations for
UML.  This is the main chunk, additional parts follow.  This implementation is
now well tested and has run reliably for some time, and we've understood all
the previously existing problems.

Their implementation saves the new GDT content and then forwards the call to
the host when appropriate, i.e.  immediately when the target process is
running or on context switch otherwise (i.e.  on fork and on ptrace() calls).

In SKAS mode, we must switch registers on each context switch (because SKAS
does not switches tls_array together with current->mm).

Also, added get_cpu() locking; this has been done for SKAS mode, since TT does
not need it (it does not use smp_processor_id()).

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Acked-by: Jeff Dike <jdike@addtoit.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-03-31 12:18:52 -08:00
..
drivers [PATCH] uml: fix initcall return values 2006-03-31 12:18:50 -08:00
include Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
skas [PATCH] uml: initialize process FP registers properly 2006-02-07 16:12:32 -08:00
sys-i386 [PATCH] uml: initialize process FP registers properly 2006-02-07 16:12:32 -08:00
sys-x86_64 [PATCH] uml: initialize process FP registers properly 2006-02-07 16:12:32 -08:00
aio.c [PATCH] uml: Formatting changes 2006-01-06 08:33:45 -08:00
elf_aux.c [PATCH] uml makefiles sanitized 2005-09-29 08:46:26 -07:00
file.c [PATCH] uml: os_connect_socket error path fixup 2006-02-24 14:31:37 -08:00
helper.c [PATCH] uml: avoid malloc to sleep in atomic sections 2006-01-18 19:20:21 -08:00
irq.c [PATCH] uml: move libc-dependent irq code to os-Linux 2006-03-27 08:44:37 -08:00
main.c [PATCH] uml: implement soft interrupts 2006-01-18 19:20:20 -08:00
Makefile [PATCH] uml: implement {get,set}_thread_area for i386 2006-03-31 12:18:52 -08:00
mem.c [PATCH] UML: Hotplug memory, take 2 2006-03-31 12:18:50 -08:00
process.c [PATCH] UML: Hotplug memory, take 2 2006-03-31 12:18:50 -08:00
sigio.c [PATCH] uml: fix thread startup race 2006-03-27 08:44:38 -08:00
signal.c [PATCH] uml: implement soft interrupts 2006-01-18 19:20:20 -08:00
start_up.c [PATCH] UML: Hotplug memory, take 2 2006-03-31 12:18:50 -08:00
time.c [PATCH] uml: move libc-dependent time code 2006-01-18 19:20:19 -08:00
tls.c [PATCH] uml: implement {get,set}_thread_area for i386 2006-03-31 12:18:52 -08:00
trap.c [PATCH] uml: implement soft interrupts 2006-01-18 19:20:20 -08:00
tt.c [PATCH] uml: move libc-dependent irq code to os-Linux 2006-03-27 08:44:37 -08:00
tty_log.c [PATCH] uml: move tty logging to os-Linux 2006-03-27 08:44:38 -08:00
tty.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
uaccess.c [PATCH] uml: implement soft interrupts 2006-01-18 19:20:20 -08:00
umid.c [PATCH] uml: prevent umid theft 2006-03-27 08:44:38 -08:00
user_syms.c [PATCH] Hostfs: update for new glibc - add missing symbol exports 2005-12-29 09:48:15 -08:00
util.c [PATCH] uml: implement soft interrupts 2006-01-18 19:20:20 -08:00