[PATCH 103/208] x86/fpu: Remove xsave_init()

From: Ingo Molnar
Date: Tue May 05 2015 - 13:52:55 EST


Expand fpu__init_system_xstate() and fpu__init_cpu_xstate() calls
into xsave_init() calls.

(This will allow us to call the proper versions in higher level FPU init code
later on.)

No change in functionality.

Reviewed-by: Borislav Petkov <bp@xxxxxxxxx>
Cc: Andy Lutomirski <luto@xxxxxxxxxxxxxx>
Cc: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
---
arch/x86/include/asm/fpu/xsave.h | 1 -
arch/x86/kernel/fpu/init.c | 8 +++++---
arch/x86/kernel/fpu/xsave.c | 13 +------------
3 files changed, 6 insertions(+), 16 deletions(-)

diff --git a/arch/x86/include/asm/fpu/xsave.h b/arch/x86/include/asm/fpu/xsave.h
index 5c3ab4e17aea..a10e66582c1b 100644
--- a/arch/x86/include/asm/fpu/xsave.h
+++ b/arch/x86/include/asm/fpu/xsave.h
@@ -52,7 +52,6 @@ extern u64 xfeatures_mask;
extern u64 xstate_fx_sw_bytes[USER_XSTATE_FX_SW_WORDS];
extern struct xsave_struct init_xstate_ctx;

-extern void xsave_init(void);
extern void update_regset_xstate_info(unsigned int size, u64 xstate_mask);

/* These macros all use (%edi)/(%rdi) as the single memory argument. */
diff --git a/arch/x86/kernel/fpu/init.c b/arch/x86/kernel/fpu/init.c
index d6234adc8ba0..77599fe8af56 100644
--- a/arch/x86/kernel/fpu/init.c
+++ b/arch/x86/kernel/fpu/init.c
@@ -98,7 +98,7 @@ static void fpstate_xstate_init_size(void)
{
/*
* Note that xstate_size might be overwriten later during
- * xsave_init().
+ * fpu__init_system_xstate().
*/

if (!cpu_has_fpu) {
@@ -146,7 +146,8 @@ void fpu__init_cpu(void)
cr0 |= X86_CR0_EM;
write_cr0(cr0);

- xsave_init();
+ fpu__init_system_xstate();
+ fpu__init_cpu_xstate();
}

/*
@@ -159,7 +160,8 @@ void fpu__init_system(void)
fpu__init_cpu();

mxcsr_feature_mask_init();
- xsave_init();
+ fpu__init_system_xstate();
+ fpu__init_cpu_xstate();
eager_fpu_init();
}

diff --git a/arch/x86/kernel/fpu/xsave.c b/arch/x86/kernel/fpu/xsave.c
index 9d5ff90916b1..fa9b954eb23a 100644
--- a/arch/x86/kernel/fpu/xsave.c
+++ b/arch/x86/kernel/fpu/xsave.c
@@ -646,8 +646,7 @@ static void __init init_xstate_size(void)
* Enable and initialize the xsave feature.
* Called once per system bootup.
*
- * ( Not marked __init because of false positive section warnings
- * generated by xsave_init(). )
+ * ( Not marked __init because of false positive section warnings. )
*/
void fpu__init_system_xstate(void)
{
@@ -714,16 +713,6 @@ void fpu__init_system_xstate(void)
}

/*
- * For the very first instance, this calls fpu__init_system_xstate();
- * for all subsequent instances, this calls fpu__init_cpu_xstate().
- */
-void xsave_init(void)
-{
- fpu__init_system_xstate();
- fpu__init_cpu_xstate();
-}
-
-/*
* setup_init_fpu_buf() is __init and it is OK to call it here because
* init_xstate_ctx will be unset only once during boot.
*/
--
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/