11 May, 2010
1 commit
-
Unbreak FPU emulation, broken by checkin
86603283326c9e95e5ad4e9fdddeec93cac5d9ad:
x86: Introduce 'struct fpu' and related APISigned-off-by: H. Peter Anvin
Cc: Avi Kivity
Cc: Suresh Siddha
LKML-Reference:
10 Feb, 2009
1 commit
-
do_device_not_available() is the handler for #NM and it declares that
it takes a unsigned long and calls math_emu(), which takes a long
argument and surprisingly expects the stack frame starting at the zero
argument would match struct math_emu_info, which isn't true regardless
of configuration in the current code.This patch makes do_device_not_available() take struct pt_regs like
other exception handlers and initialize struct math_emu_info with
pointer to it and pass pointer to the math_emu_info to math_emulate()
like normal C functions do. This way, unless gcc makes a copy of
struct pt_regs in do_device_not_available(), the register frame is
correctly accessed regardless of kernel configuration or compiler
used.This doesn't fix all math_emu problems but it at least gets it
somewhat working.Signed-off-by: Tejun Heo
Signed-off-by: Ingo Molnar
09 Feb, 2009
1 commit
-
Impact: cleanup
* Come on, struct info? s/struct info/struct math_emu_info/
* Use struct pt_regs and kernel_vm86_regs instead of defining its own
register frame structure.Signed-off-by: Tejun Heo
Signed-off-by: Ingo Molnar
04 Jun, 2008
1 commit
-
Fix the math emulation that got broken with the recent lazy allocation of FPU
area. init_fpu() need to be added for the math-emulation path aswell
for the FPU area allocation.math emulation enabled kernel booted fine with this, in the presence
of "no387 nofxsr" boot param.Signed-off-by: Suresh Siddha
Cc: hpa@zytor.com
Cc: mingo@elte.hu
Signed-off-by: Thomas Gleixner
20 Apr, 2008
1 commit
-
Split the FPU save area from the task struct. This allows easy migration
of FPU context, and it's generally cleaner. It also allows the following
two optimizations:1) only allocate when the application actually uses FPU, so in the first
lazy FPU trap. This could save memory for non-fpu using apps. Next patch
does this lazy allocation.2) allocate the right size for the actual cpu rather than 512 bytes always.
Patches enabling xsave/xrstor support (coming shortly) will take advantage
of this.Signed-off-by: Suresh Siddha
Signed-off-by: Arjan van de Ven
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner
17 Apr, 2008
1 commit
-
arch/x86/math-emu/fpu_entry.c:555: warning: 'entry_sel_off.empty' is used uninitialized in this function
Presumably it's harmless, but I'll sleep better at night knowing that we
initialised it.Cc: Andi Kleen
Signed-off-by: Andrew Morton
Signed-off-by: Ingo Molnar
30 Jan, 2008
4 commits
-
This removes a bunch of dead code that is no longer needed now
that the user_regset interfaces are being used for all these jobs.Signed-off-by: Roland McGrath
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
This converts the ptrace/signal accessors for i387 math_emu
state to the user_regset interface style, and calls these
from the old interfaces.It also cleans up math_emulate's ptrace check to be a
single-step check, which is what it really wants.Signed-off-by: Roland McGrath
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
manually clean up some of the damage that lindent caused.
(this is a separate commit so that in the unlikely case of
a typo we can bisect it down to the manual edits.)Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
lindent these files:
errors lines of code errors/KLOC
arch/x86/math-emu/ 2236 9424 237.2
arch/x86/math-emu/ 128 8706 14.7no other changes. No code changed:
text data bss dec hex filename
5589802 612739 3833856 10036397 9924ad vmlinux.before
5589802 612739 3833856 10036397 9924ad vmlinux.afterthe intent of this patch is to ease the automated tracking of kernel
code quality - it's just much easier for us to maintain it if every file
in arch/x86 is supposed to be clean.NOTE: it is a known problem of lindent that it causes some style damage
of its own, but it's a safe tool (well, except for the gcc array range
initializers extension), so we did the bulk of the changes via lindent,
and did the manual fixups in a followup patch.the resulting math-emu code has been tested by Thomas Gleixner on a real
386 DX CPU as well, and it works fine.Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner
11 Oct, 2007
1 commit
-
Signed-off-by: Thomas Gleixner
Signed-off-by: Ingo Molnar