alistair23-linux/include/asm-um
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
..
a.out.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
alternative.h [PATCH] x86: SMP alternatives 2006-03-23 07:38:04 -08:00
apic.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
archparam-i386.h [PATCH] uml: s390 preparation, elf.h 2005-05-05 16:36:37 -07:00
archparam-ppc.h [PATCH] uml: s390 preparation, elf.h 2005-05-05 16:36:37 -07:00
archparam-x86_64.h [PATCH] uml: s390 preparation, elf.h 2005-05-05 16:36:37 -07:00
atomic.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
auxvec.h [PATCH] auxiliary vector cleanups 2005-09-07 16:57:21 -07:00
bitops.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
boot.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bug.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
bugs.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
byteorder.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cache.h [PATCH] Kill L1_CACHE_SHIFT_MAX 2006-01-08 20:13:39 -08:00
cacheflush.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
calling.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
checksum.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cobalt.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
common.lds.S [PATCH] uml: fix oops related to exception table 2005-05-01 08:58:53 -07:00
cpufeature.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
cputime.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
current.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
delay.h [PATCH] uml: s390 preparation, delay moved to arch 2005-05-05 16:36:38 -07:00
desc.h [PATCH] uml: implement {get,set}_thread_area for i386 2006-03-31 12:18:52 -08:00
div64.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dma-mapping.h [PATCH] gfp_t: dma-mapping (simple cases) 2005-10-28 08:16:49 -07:00
dma.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dwarf2.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
elf-i386.h [PATCH] uml: small fixes left over from rc4 2005-05-20 15:48:17 -07:00
elf-ppc.h [PATCH] uml: s390 preparation, elf.h 2005-05-05 16:36:37 -07:00
elf-x86_64.h [PATCH] uml: small fixes left over from rc4 2005-05-20 15:48:17 -07:00
emergency-restart.h [PATCH] Add emergency_restart() 2005-07-26 14:35:41 -07:00
errno.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fcntl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fixmap.h [PATCH] uml: s390 preparation, elf.h 2005-05-05 16:36:37 -07:00
floppy.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
futex.h [PATCH] consolidate asm/futex.h 2006-01-08 20:13:39 -08:00
hardirq.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
highmem.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
host_ldt-i386.h [PATCH] uml: split ldt.h in arch-independent and arch-dependant code 2006-03-31 12:18:51 -08:00
host_ldt-x86_64.h [PATCH] uml: split ldt.h in arch-independent and arch-dependant code 2006-03-31 12:18:51 -08:00
hw_irq.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ide.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
io.h [PATCH] uml: add __raw_writel definition 2006-01-18 19:20:18 -08:00
ioctl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ioctls.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ipc.h [PATCH] uml: obvious compile fixes for x86-64 Subarch and x86 regression fixes 2005-05-05 16:36:32 -07:00
ipcbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
irq_vectors.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
keyboard.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
kmap_types.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ldt.h [PATCH] uml: split ldt.h in arch-independent and arch-dependant code 2006-03-31 12:18:51 -08:00
linkage.h [PATCH] uml: remove old UM_FASTCALL, and make the thing work again 2005-10-30 17:37:16 -08:00
local.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
locks.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mca_dma.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mman.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mmu.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mmu_context.h [PATCH] uml: switch_mm fix 2005-11-07 07:53:31 -08:00
module-generic.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
module-i386.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
module-x86_64.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
msgbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mtrr.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mutex.h [PATCH] mutex subsystem, add default include/asm-*/mutex.h files 2006-01-09 15:59:19 -08:00
namei.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
page.h [PATCH] unify pfn_to_page: uml pfn_to_page 2006-03-27 08:44:46 -08:00
page_offset.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
param.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pda.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
percpu.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pgalloc.h [PATCH] uml: fix x86_64 page leak 2005-09-05 00:06:24 -07:00
pgtable-2level.h [PATCH] uml: merge duplicated page table code 2005-09-05 00:06:22 -07:00
pgtable-3level.h [PATCH] uml: fix x86_64 page leak 2005-09-05 00:06:24 -07:00
pgtable.h [PATCH] mm: pte_offset_map_lock loops 2005-10-29 21:40:40 -07:00
poll.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
posix_types.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
prctl.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
processor-generic.h [PATCH] dump_thread() cleanup 2006-01-10 08:01:25 -08:00
processor-i386.h [PATCH] uml: implement {get,set}_thread_area for i386 2006-03-31 12:18:52 -08:00
processor-ppc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
processor-x86_64.h [PATCH] uml: implement {get,set}_thread_area for i386 2006-03-31 12:18:52 -08:00
ptrace-generic.h [PATCH] uml: implement {get,set}_thread_area for i386 2006-03-31 12:18:52 -08:00
ptrace-i386.h [PATCH] uml: implement {get,set}_thread_area for i386 2006-03-31 12:18:52 -08:00
ptrace-x86_64.h [PATCH] uml: implement {get,set}_thread_area for i386 2006-03-31 12:18:52 -08:00
resource.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rwlock.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rwsem.h [PATCH] remove gcc-2 checks 2006-01-08 20:14:02 -08:00
scatterlist.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sections.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
segment.h [PATCH] uml: implement {get,set}_thread_area for i386 2006-03-31 12:18:52 -08:00
semaphore.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sembuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
serial.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
setup.h [PATCH] uml: command line handling cleanup 2005-05-06 22:09:29 -07:00
shmbuf.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
shmparam.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sigcontext-generic.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sigcontext-i386.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sigcontext-ppc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sigcontext-x86_64.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
siginfo.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
signal.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
smp.h [PATCH] uml: avoid "CONFIG_NR_CPUS undeclared" bogus error messages 2006-02-01 08:53:23 -08:00
socket.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sockios.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
spinlock.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
spinlock_types.h [PATCH] uml spinlock breakage 2005-09-10 16:50:01 -07:00
stat.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
statfs.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
string.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
suspend.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
system-generic.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
system-i386.h [PATCH] uml: UML/i386 cmpxchg fix 2005-09-17 11:50:01 -07:00
system-ppc.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
system-x86_64.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
termbits.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
termios.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
thread_info.h [PATCH] uml: sparse cleanups 2006-03-31 12:18:51 -08:00
timex.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tlb.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
tlbflush.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
topology.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
types.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
uaccess.h [PATCH] uml: sparse cleanups 2006-03-31 12:18:51 -08:00
ucontext.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unaligned.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
unistd.h [PATCH] uml: use generic sys_rt_sigsuspend 2006-01-18 19:20:30 -08:00
user.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vga.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vm-flags-i386.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vm-flags-x86_64.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
vm86.h [PATCH] uml: vm86 compile fix 2005-07-28 21:46:03 -07:00
xor.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00