+1
-2
arch/x86/kernel/fpu/context.h
+1
-2
arch/x86/kernel/fpu/context.h
···
19
19
* FPU state for a task MUST let the rest of the kernel know that the
20
20
* FPU registers are no longer valid for this task.
21
21
*
22
-
* Either one of these invalidation functions is enough. Invalidate
23
-
* a resource you control: CPU if using the CPU for something else
22
+
* Invalidate a resource you control: CPU if using the CPU for something else
24
23
* (with preemption disabled), FPU for the current task, or a task that
25
24
* is prevented from running by the current task.
26
25
*/
+1
-1
arch/x86/kernel/fpu/core.c
+1
-1
arch/x86/kernel/fpu/core.c
+7
arch/x86/kernel/fpu/xstate.c
+7
arch/x86/kernel/fpu/xstate.c
···
882
882
goto out_disable;
883
883
}
884
884
885
+
/*
886
+
* CPU capabilities initialization runs before FPU init. So
887
+
* X86_FEATURE_OSXSAVE is not set. Now that XSAVE is completely
888
+
* functional, set the feature bit so depending code works.
889
+
*/
890
+
setup_force_cpu_cap(X86_FEATURE_OSXSAVE);
891
+
885
892
print_xstate_offset_size();
886
893
pr_info("x86/fpu: Enabled xstate features 0x%llx, context size is %d bytes, using '%s' format.\n",
887
894
fpu_kernel_cfg.max_features,