diff --git a/arch/x86/include/asm/fpu-internal.h b/arch/x86/include/asm/fpu-internal.h index 5fd9b3f9be0f57a4453ff330b5eb2cd342ef87e5..6b84399c88399f5f4c2580f17a42aa3851fbf715 100644 --- a/arch/x86/include/asm/fpu-internal.h +++ b/arch/x86/include/asm/fpu-internal.h @@ -501,17 +501,6 @@ static inline void user_fpu_begin(void) preempt_enable(); } -static inline void __save_fpu(struct task_struct *tsk) -{ - if (use_xsave()) { - if (unlikely(system_state == SYSTEM_BOOTING)) - xsave_state_booting(&tsk->thread.fpu.state->xsave); - else - xsave_state(&tsk->thread.fpu.state->xsave); - } else - fpu_fxsave(&tsk->thread.fpu); -} - /* * i387 state interaction */ diff --git a/arch/x86/kernel/fpu/core.c b/arch/x86/kernel/fpu/core.c index 41c92897f5749ea5d7c7b0dd4bbabde3afbaf4d2..9db4ef349c19908d72de9a53e32059acac855bfc 100644 --- a/arch/x86/kernel/fpu/core.c +++ b/arch/x86/kernel/fpu/core.c @@ -125,6 +125,18 @@ void __kernel_fpu_end(void) } EXPORT_SYMBOL(__kernel_fpu_end); +static void __save_fpu(struct task_struct *tsk) +{ + if (use_xsave()) { + if (unlikely(system_state == SYSTEM_BOOTING)) + xsave_state_booting(&tsk->thread.fpu.state->xsave); + else + xsave_state(&tsk->thread.fpu.state->xsave); + } else { + fpu_fxsave(&tsk->thread.fpu); + } +} + /* * Save the FPU state (initialize it if necessary): *