linux/arch/um
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
..
drivers um: drivers/xterm.c: fix a file descriptor leak 2011-09-14 18:09:37 -07:00
include um: Save FPU registers between task switches 2011-09-14 18:09:37 -07:00
kernel um: Save FPU registers between task switches 2011-09-14 18:09:37 -07:00
os-Linux um: Save FPU registers between task switches 2011-09-14 18:09:37 -07:00
scripts uml: throw out CONFIG_MODE_TT 2007-10-16 09:43:05 -07:00
sys-i386 um: Save FPU registers between task switches 2011-09-14 18:09:37 -07:00
sys-ia64 uml: remove useless comments 2009-04-01 08:59:17 -07:00
sys-ppc um: change to new flag variables 2011-03-17 14:02:57 +01:00
sys-x86_64 um: Save FPU registers between task switches 2011-09-14 18:09:37 -07:00
.gitignore um: tell git to ignore generated files 2010-03-06 11:26:28 -08:00
defconfig kconfig: rename CONFIG_EMBEDDED to CONFIG_EXPERT 2011-01-20 17:02:05 -08:00
Kconfig.char sound: make OSS sound core optional 2008-08-29 10:06:21 +02:00
Kconfig.common genirq: Remove the now obsolete config options and select statements 2011-03-30 14:13:23 +02:00
Kconfig.debug lib: consolidate DEBUG_STACK_USAGE option 2011-05-25 08:39:54 -07:00
Kconfig.net Fix common misspellings 2011-03-31 11:26:23 -03:00
Kconfig.rest uml: kill a kconfig warning 2009-04-21 13:41:50 -07:00
Kconfig.um uml: fix hppfs build 2011-04-28 11:28:21 -07:00
Kconfig.x86 um: disable CMPXCHG_DOUBLE as it breaks UML build 2011-09-14 18:09:37 -07:00
Makefile kbuild: move asm-offsets.h to include/generated 2009-12-12 13:08:14 +01:00
Makefile-i386 [UML] fix gcc ICEs and unresolved externs 2008-07-07 10:53:10 -07:00
Makefile-ia64
Makefile-os-Linux x86, um: get rid of arch/um/os symlink 2008-10-22 22:55:22 -07:00
Makefile-ppc
Makefile-skas
Makefile-x86_64 [UML] fix gcc ICEs and unresolved externs 2008-07-07 10:53:10 -07:00