Commit c3f8978ea332cd4be88e12574452a025892ac9af

Authored by H. Peter Anvin
1 parent 8660328332

x86, fpu: Unbreak FPU emulation

Unbreak FPU emulation, broken by checkin
86603283326c9e95e5ad4e9fdddeec93cac5d9ad:
x86: Introduce 'struct fpu' and related API

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Cc: Avi Kivity <avi@redhat.com>
Cc: Suresh Siddha <suresh.b.siddha@intel.com>
LKML-Reference: <1273135546-29690-3-git-send-email-avi@redhat.com>

Showing 3 changed files with 4 additions and 4 deletions Side-by-side Diff

arch/x86/math-emu/fpu_aux.c
... ... @@ -52,7 +52,7 @@
52 52  
53 53 void finit(void)
54 54 {
55   - finit_task(&current->thread.fpu);
  55 + finit_soft_fpu(&current->thread.fpu.state->soft);
56 56 }
57 57  
58 58 /*
arch/x86/math-emu/fpu_entry.c
... ... @@ -681,7 +681,7 @@
681 681 unsigned int pos, unsigned int count,
682 682 const void *kbuf, const void __user *ubuf)
683 683 {
684   - struct i387_soft_struct *s387 = &target->thread.xstate->soft;
  684 + struct i387_soft_struct *s387 = &target->thread.fpu.state->soft;
685 685 void *space = s387->st_space;
686 686 int ret;
687 687 int offset, other, i, tags, regnr, tag, newtop;
... ... @@ -733,7 +733,7 @@
733 733 unsigned int pos, unsigned int count,
734 734 void *kbuf, void __user *ubuf)
735 735 {
736   - struct i387_soft_struct *s387 = &target->thread.xstate->soft;
  736 + struct i387_soft_struct *s387 = &target->thread.fpu.state->soft;
737 737 const void *space = s387->st_space;
738 738 int ret;
739 739 int offset = (S387->ftop & 7) * 10, other = 80 - offset;
arch/x86/math-emu/fpu_system.h
... ... @@ -31,7 +31,7 @@
31 31 #define SEG_EXPAND_DOWN(s) (((s).b & ((1 << 11) | (1 << 10))) \
32 32 == (1 << 10))
33 33  
34   -#define I387 (current->thread.xstate)
  34 +#define I387 (current->thread.fpu.state)
35 35 #define FPU_info (I387->soft.info)
36 36  
37 37 #define FPU_CS (*(unsigned short *) &(FPU_info->regs->cs))