diff options
| -rw-r--r-- | arch/x86/include/asm/fpu/xstate.h | 11 | ||||
| -rw-r--r-- | arch/x86/kernel/fpu/init.c | 6 |
2 files changed, 12 insertions, 5 deletions
diff --git a/arch/x86/include/asm/fpu/xstate.h b/arch/x86/include/asm/fpu/xstate.h index 3a6c89b70307..af30fdeb140d 100644 --- a/arch/x86/include/asm/fpu/xstate.h +++ b/arch/x86/include/asm/fpu/xstate.h | |||
| @@ -20,15 +20,16 @@ | |||
| 20 | 20 | ||
| 21 | /* Supported features which support lazy state saving */ | 21 | /* Supported features which support lazy state saving */ |
| 22 | #define XFEATURE_MASK_LAZY (XFEATURE_MASK_FP | \ | 22 | #define XFEATURE_MASK_LAZY (XFEATURE_MASK_FP | \ |
| 23 | XFEATURE_MASK_SSE | \ | 23 | XFEATURE_MASK_SSE) |
| 24 | |||
| 25 | /* Supported features which require eager state saving */ | ||
| 26 | #define XFEATURE_MASK_EAGER (XFEATURE_MASK_BNDREGS | \ | ||
| 27 | XFEATURE_MASK_BNDCSR | \ | ||
| 24 | XFEATURE_MASK_YMM | \ | 28 | XFEATURE_MASK_YMM | \ |
| 25 | XFEATURE_MASK_OPMASK | \ | 29 | XFEATURE_MASK_OPMASK | \ |
| 26 | XFEATURE_MASK_ZMM_Hi256 | \ | 30 | XFEATURE_MASK_ZMM_Hi256 | \ |
| 27 | XFEATURE_MASK_Hi16_ZMM) | 31 | XFEATURE_MASK_Hi16_ZMM) |
| 28 | 32 | ||
| 29 | /* Supported features which require eager state saving */ | ||
| 30 | #define XFEATURE_MASK_EAGER (XFEATURE_MASK_BNDREGS | XFEATURE_MASK_BNDCSR) | ||
| 31 | |||
| 32 | /* All currently supported features */ | 33 | /* All currently supported features */ |
| 33 | #define XCNTXT_MASK (XFEATURE_MASK_LAZY | XFEATURE_MASK_EAGER) | 34 | #define XCNTXT_MASK (XFEATURE_MASK_LAZY | XFEATURE_MASK_EAGER) |
| 34 | 35 | ||
diff --git a/arch/x86/kernel/fpu/init.c b/arch/x86/kernel/fpu/init.c index f0ab36844a6d..6d9f0a7ef4c8 100644 --- a/arch/x86/kernel/fpu/init.c +++ b/arch/x86/kernel/fpu/init.c | |||
| @@ -300,6 +300,12 @@ u64 __init fpu__get_supported_xfeatures_mask(void) | |||
| 300 | static void __init fpu__clear_eager_fpu_features(void) | 300 | static void __init fpu__clear_eager_fpu_features(void) |
| 301 | { | 301 | { |
| 302 | setup_clear_cpu_cap(X86_FEATURE_MPX); | 302 | setup_clear_cpu_cap(X86_FEATURE_MPX); |
| 303 | setup_clear_cpu_cap(X86_FEATURE_AVX); | ||
| 304 | setup_clear_cpu_cap(X86_FEATURE_AVX2); | ||
| 305 | setup_clear_cpu_cap(X86_FEATURE_AVX512F); | ||
| 306 | setup_clear_cpu_cap(X86_FEATURE_AVX512PF); | ||
| 307 | setup_clear_cpu_cap(X86_FEATURE_AVX512ER); | ||
| 308 | setup_clear_cpu_cap(X86_FEATURE_AVX512CD); | ||
| 303 | } | 309 | } |
| 304 | 310 | ||
| 305 | /* | 311 | /* |
