summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2015-04-30 11:21:59 +0200
committerIngo Molnar <mingo@kernel.org>2015-05-19 15:48:08 +0200
commit815418890e2a3984d8b04c433072df1a42573f96 (patch)
tree49749e4f4a36567162d723ea828f1577576ed874 /arch
parent6f57502310c85b60bdea78228e9b5bb3e82dc3b7 (diff)
x86/fpu: Move restore_init_xstate() out of fpu/internal.h
Move restore_init_xstate() next to its sole caller. Also rename it to copy_init_fpstate_to_fpregs() and add some comments about what it does. Cc: Andy Lutomirski <luto@amacapital.net> Cc: Borislav Petkov <bp@alien8.de> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: Fenghua Yu <fenghua.yu@intel.com> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/include/asm/fpu/internal.h8
-rw-r--r--arch/x86/kernel/fpu/core.c14
2 files changed, 13 insertions, 9 deletions
diff --git a/arch/x86/include/asm/fpu/internal.h b/arch/x86/include/asm/fpu/internal.h
index 792fdbe64179..a1810eb39afa 100644
--- a/arch/x86/include/asm/fpu/internal.h
+++ b/arch/x86/include/asm/fpu/internal.h
@@ -341,14 +341,6 @@ static inline void fpregs_deactivate(struct fpu *fpu)
__fpregs_deactivate_hw();
}
-static inline void restore_init_xstate(void)
-{
- if (use_xsave())
- xrstor_state(&init_fpstate.xsave, -1);
- else
- fxrstor_checking(&init_fpstate.fxsave);
-}
-
/*
* Definitions for the eXtended Control Register instructions
*/
diff --git a/arch/x86/kernel/fpu/core.c b/arch/x86/kernel/fpu/core.c
index a396f80b771f..2ea9e2f9c486 100644
--- a/arch/x86/kernel/fpu/core.c
+++ b/arch/x86/kernel/fpu/core.c
@@ -392,6 +392,18 @@ void fpu__drop(struct fpu *fpu)
}
/*
+ * Clear FPU registers by setting them up from
+ * the init fpstate:
+ */
+static inline void copy_init_fpstate_to_fpregs(void)
+{
+ if (use_xsave())
+ xrstor_state(&init_fpstate.xsave, -1);
+ else
+ fxrstor_checking(&init_fpstate.fxsave);
+}
+
+/*
* Clear the FPU state back to init state.
*
* Called by sys_execve(), by the signal handler code and by various
@@ -409,7 +421,7 @@ void fpu__clear(struct fpu *fpu)
fpu__activate_curr(fpu);
user_fpu_begin();
}
- restore_init_xstate();
+ copy_init_fpstate_to_fpregs();
}
}