|
@@ -8,7 +8,7 @@
|
|
|
#include <asm/required-features.h>
|
|
|
#endif
|
|
|
|
|
|
-#define NCAPINTS 10 /* N 32-bit words worth of info */
|
|
|
+#define NCAPINTS 11 /* N 32-bit words worth of info */
|
|
|
#define NBUGINTS 1 /* N 32-bit bug flags */
|
|
|
|
|
|
/*
|
|
@@ -180,7 +180,6 @@
|
|
|
#define X86_FEATURE_ARAT ( 7*32+ 1) /* Always Running APIC Timer */
|
|
|
#define X86_FEATURE_CPB ( 7*32+ 2) /* AMD Core Performance Boost */
|
|
|
#define X86_FEATURE_EPB ( 7*32+ 3) /* IA32_ENERGY_PERF_BIAS support */
|
|
|
-#define X86_FEATURE_XSAVEOPT ( 7*32+ 4) /* Optimized Xsave */
|
|
|
#define X86_FEATURE_PLN ( 7*32+ 5) /* Intel Power Limit Notification */
|
|
|
#define X86_FEATURE_PTS ( 7*32+ 6) /* Intel Package Thermal Status */
|
|
|
#define X86_FEATURE_DTHERM ( 7*32+ 7) /* Digital Thermal Sensor */
|
|
@@ -226,6 +225,12 @@
|
|
|
#define X86_FEATURE_AVX512ER ( 9*32+27) /* AVX-512 Exponential and Reciprocal */
|
|
|
#define X86_FEATURE_AVX512CD ( 9*32+28) /* AVX-512 Conflict Detection */
|
|
|
|
|
|
+/* Extended state features, CPUID level 0x0000000d:1 (eax), word 10 */
|
|
|
+#define X86_FEATURE_XSAVEOPT (10*32+ 0) /* XSAVEOPT */
|
|
|
+#define X86_FEATURE_XSAVEC (10*32+ 1) /* XSAVEC */
|
|
|
+#define X86_FEATURE_XGETBV1 (10*32+ 2) /* XGETBV with ECX = 1 */
|
|
|
+#define X86_FEATURE_XSAVES (10*32+ 3) /* XSAVES/XRSTORS */
|
|
|
+
|
|
|
/*
|
|
|
* BUG word(s)
|
|
|
*/
|
|
@@ -328,6 +333,7 @@ extern const char * const x86_power_flags[32];
|
|
|
#define cpu_has_x2apic boot_cpu_has(X86_FEATURE_X2APIC)
|
|
|
#define cpu_has_xsave boot_cpu_has(X86_FEATURE_XSAVE)
|
|
|
#define cpu_has_xsaveopt boot_cpu_has(X86_FEATURE_XSAVEOPT)
|
|
|
+#define cpu_has_xsaves boot_cpu_has(X86_FEATURE_XSAVES)
|
|
|
#define cpu_has_osxsave boot_cpu_has(X86_FEATURE_OSXSAVE)
|
|
|
#define cpu_has_hypervisor boot_cpu_has(X86_FEATURE_HYPERVISOR)
|
|
|
#define cpu_has_pclmulqdq boot_cpu_has(X86_FEATURE_PCLMULQDQ)
|