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. */
{
/*
* Note that xstate_size might be overwriten later during
- * xsave_init().
+ * fpu__init_system_xstate().
*/
if (!cpu_has_fpu) {
cr0 |= X86_CR0_EM;
write_cr0(cr0);
- xsave_init();
+ fpu__init_system_xstate();
+ fpu__init_cpu_xstate();
}
/*
fpu__init_cpu();
mxcsr_feature_mask_init();
- xsave_init();
+ fpu__init_system_xstate();
+ fpu__init_cpu_xstate();
eager_fpu_init();
}
* 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)
{
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.