summaryrefslogtreecommitdiff
path: root/arch/x86/include/asm/i387.h
diff options
context:
space:
mode:
authorSuresh Siddha <suresh.b.siddha@intel.com>2010-07-19 16:05:52 -0700
committerH. Peter Anvin <hpa@linux.intel.com>2010-07-19 17:52:24 -0700
commit6bad06b768920e278c7cedfdda56a0b4c6a35ee9 (patch)
treed84dd7d1f0f9afcf4880cea734bf3a32e8e9804c /arch/x86/include/asm/i387.h
parent29104e101d710dd152f807978884643a52eca8b7 (diff)
x86, xsave: Use xsaveopt in context-switch path when supported
xsaveopt is a more optimized form of xsave specifically designed for the context switch usage. xsaveopt doesn't save the state that's not modified from the prior xrstor. And if a specific feature state gets modified to the init state, then xsaveopt just updates the header bit in the xsave memory layout without updating the corresponding memory layout. Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> LKML-Reference: <20100719230205.604014179@sbs-t61.sc.intel.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/include/asm/i387.h')
-rw-r--r--arch/x86/include/asm/i387.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/include/asm/i387.h b/arch/x86/include/asm/i387.h
index bb370fd0a1c2..59bd93ac7fef 100644
--- a/arch/x86/include/asm/i387.h
+++ b/arch/x86/include/asm/i387.h
@@ -60,7 +60,7 @@ extern int restore_i387_xstate_ia32(void __user *buf);
static __always_inline __pure bool use_xsaveopt(void)
{
- return 0;
+ return static_cpu_has(X86_FEATURE_XSAVEOPT);
}
static __always_inline __pure bool use_xsave(void)