kernel-hacking-2024-linux-s.../arch/um/kernel
Ingo van Lil fbfe9c847e um: Save FPU registers between task switches
Some time ago Jeff prepared 42daba3165 ("uml: stop saving process FP
state") for UML to stop saving the process FP state between task
switches.  The assumption was that since with SKAS0 every guest process
runs inside a host process context the host OS will take care of keeping
the proper FP state.

Unfortunately this is not true for multi-threaded applications, where
all guest threads share a single host process context yet all may use
the FPU on their own.  Although I haven't verified it I suspect things
to be even worse in SKAS3 mode where all guest processes run inside a
single host process.

The patch reintroduces the saving and restoring of the FP context
between task switches.

[richard@nod.at: Ingo posted this patch in 2009, sadly it was never applied
and got lost. Now in 2011 the problem was reported by Gunnar.]

Signed-off-by: Ingo van Lil <inguin@gmx.de>
Signed-off-by: Richard Weinberger <richard@nod.at>
Reported-by: <gunnarlindroth@hotmail.com>
Tested-by: <gunnarlindroth@hotmail.com>
Cc: Stanislav Meduna <stano@meduna.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2011-09-14 18:09:37 -07:00
..
skas thp: pte alloc trans splitting 2011-01-13 17:32:40 -08:00
asm-offsets.c
config.c.in
dyn.lds.S uml: fix CONFIG_STATIC_LINK=y build failure with newer glibc 2010-10-26 16:52:12 -07:00
early_printk.c um: add earlyprintk support 2011-05-25 08:39:41 -07:00
exec.c um, exec: remove redundant set_fs(USER_DS) 2011-07-25 20:57:12 -07:00
exitcode.c
gmon_syms.c
gprof_syms.c
init_task.c
initrd.c
internal.h uml: fix compile warning 2010-09-22 17:22:39 -07:00
irq.c um: Use generic show_interrupts() 2011-03-24 20:35:57 +01:00
ksyms.c Deal with missing exports for hostfs 2010-08-09 16:47:25 -04:00
Makefile um: add earlyprintk support 2011-05-25 08:39:41 -07:00
mem.c
physmem.c
process.c um: Save FPU registers between task switches 2011-09-14 18:09:37 -07:00
ptrace.c um: fix ptrace build error 2010-11-12 07:55:30 -08:00
reboot.c um: remove dead code 2011-07-25 20:57:13 -07:00
sigio.c
signal.c
smp.c mm: now that all old mmu_gather code is gone, remove the storage 2011-05-25 08:39:16 -07:00
syscall.c uml: fix compile warning 2010-09-22 17:22:39 -07:00
sysrq.c
time.c um: Fix read_persistent_clock fallout 2010-08-03 20:36:07 +02:00
tlb.c
trap.c um: print info about fatal segfaults 2011-05-25 08:39:41 -07:00
uaccess.c
um_arch.c
umid.c
uml.lds.S uml: fix CONFIG_STATIC_LINK=y build failure with newer glibc 2010-10-26 16:52:12 -07:00
vmlinux.lds.S