Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c42103b2 authored by Ingo Molnar's avatar Ingo Molnar
Browse files

x86/fpu: Remove xsave_init()



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: default avatarBorislav Petkov <bp@alien8.de>
Cc: Andy Lutomirski <luto@amacapital.net>
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: default avatarIngo Molnar <mingo@kernel.org>
parent 62db6871
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -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. */
+5 −3
Original line number Diff line number Diff line
@@ -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();
}

+1 −12
Original line number Diff line number Diff line
@@ -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)
{
@@ -713,16 +712,6 @@ void fpu__init_system_xstate(void)
		cpu_has_xsaves ? "compacted" : "standard");
}

/*
 * 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.