Messages in this thread Patch in this message | | | From | Yu-cheng Yu <> | Subject | [PATCH v2 9/9] x86/xsaves: Re-enable XSAVES | Date | Thu, 25 Feb 2016 12:26:20 -0800 |
| |
We did not handle XSAVES* instructions correctly. There were issues in converting between standard and compacted format when interfacing with user-space. These issues have been corrected.
Signed-off-by: Yu-cheng Yu <yu-cheng.yu@intel.com> --- arch/x86/kernel/fpu/init.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-)
diff --git a/arch/x86/kernel/fpu/init.c b/arch/x86/kernel/fpu/init.c index b5952d5..21e0d52 100644 --- a/arch/x86/kernel/fpu/init.c +++ b/arch/x86/kernel/fpu/init.c @@ -228,19 +228,11 @@ static void __init fpu__init_system_xstate_size_legacy(void) user_xstate_size = kernel_xstate_size; /* - * Quirk: we don't yet handle the XSAVES* instructions - * correctly, as we don't correctly convert between - * standard and compacted format when interfacing - * with user-space - so disable it for now. - * - * The difference is small: with recent CPUs the - * compacted format is only marginally smaller than - * the standard FPU state format. - * - * ( This is easy to backport while we are fixing - * XSAVES* support. ) + * Most recent CPUs supporting XSAVES can run 64-bit mode. + * Enable XSAVES for 64-bit. */ - setup_clear_cpu_cap(X86_FEATURE_XSAVES); + if (!config_enabled(CONFIG_X86_64)) + setup_clear_cpu_cap(X86_FEATURE_XSAVES); } /* -- 1.9.1
| |