diff options
author | Jan Beulich <jbeulich@novell.com> | 2008-03-05 03:35:14 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-03-07 10:39:14 -0500 |
commit | 609b5297bcfb7b39b7a4137e9ec48407a8c96763 (patch) | |
tree | 9c0dc800d5dc69ef43412f3fbd796c0285a77a14 /arch/x86/kernel/i387.c | |
parent | e40cd10ccff3d9fbffd57b93780bee4b7b9bff51 (diff) |
x86: fix merge mistake in i387.c
convert_fxsr_to_user() in 2.6.24's i387_32.c did this, and
convert_to_fxsr() also does the inverse, so I assume it's an oversight
that it is no longer being done.
[ mingo@elte.hu:
we encode it this way because there's no space for the 'FPU Last
Instruction Opcode' (->fop) field in the legacy user_i387_ia32_struct
that PTRACE_GETFPREGS/PTRACE_SETFPREGS uses.
it's probably pure legacy - i'd be surprised if any user-space relied on
the FPU Last Opcode in any way. But indeed we used to do it previously
so the most conservative thing is to preserve that piece of information.
]
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/i387.c')
-rw-r--r-- | arch/x86/kernel/i387.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/i387.c b/arch/x86/kernel/i387.c index 60fe80157569..d2e39e69aaf8 100644 --- a/arch/x86/kernel/i387.c +++ b/arch/x86/kernel/i387.c | |||
@@ -261,7 +261,7 @@ static void convert_from_fxsr(struct user_i387_ia32_struct *env, | |||
261 | } | 261 | } |
262 | #else | 262 | #else |
263 | env->fip = fxsave->fip; | 263 | env->fip = fxsave->fip; |
264 | env->fcs = fxsave->fcs; | 264 | env->fcs = (u16) fxsave->fcs | ((u32) fxsave->fop << 16); |
265 | env->foo = fxsave->foo; | 265 | env->foo = fxsave->foo; |
266 | env->fos = fxsave->fos; | 266 | env->fos = fxsave->fos; |
267 | #endif | 267 | #endif |