[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] add missing cpufeatures, vmexits and vmcs defines for broadwell/haswell



Signed-off-bye: Jason L. Wright <jason@xxxxxxxxxxx>
---
 xen/include/asm-x86/cpufeature.h   | 6 ++++++
 xen/include/asm-x86/hvm/vmx/vmcs.h | 5 +++++
 xen/include/asm-x86/hvm/vmx/vmx.h  | 5 +++++
 3 files changed, 16 insertions(+)

diff --git a/xen/include/asm-x86/cpufeature.h b/xen/include/asm-x86/cpufeature.h
index 8014241..745ac7a 100644
--- a/xen/include/asm-x86/cpufeature.h
+++ b/xen/include/asm-x86/cpufeature.h
@@ -140,6 +140,7 @@
 
 /* Intel-defined CPU features, CPUID level 0x00000007:0 (ebx), word 7 */
 #define X86_FEATURE_FSGSBASE   (7*32+ 0) /* {RD,WR}{FS,GS}BASE instructions */
+#define X86_FEATURE_TSC_ADJUST (7*32+ 1) /* TSC adjustment MSR 0x3b */
 #define X86_FEATURE_BMI1       (7*32+ 3) /* 1st bit manipulation extensions */
 #define X86_FEATURE_HLE        (7*32+ 4) /* Hardware Lock Elision */
 #define X86_FEATURE_AVX2       (7*32+ 5) /* AVX2 instructions */
@@ -150,9 +151,14 @@
 #define X86_FEATURE_RTM        (7*32+11) /* Restricted Transactional Memory */
 #define X86_FEATURE_NO_FPU_SEL         (7*32+13) /* FPU CS/DS stored as zero */
 #define X86_FEATURE_MPX                (7*32+14) /* Memory Protection 
Extensions */
+#define X86_FEATURE_AVX512F    (7*32+16) /* AVX-512 Foundation */
 #define X86_FEATURE_RDSEED     (7*32+18) /* RDSEED instruction */
 #define X86_FEATURE_ADX                (7*32+19) /* ADCX, ADOX instructions */
 #define X86_FEATURE_SMAP       (7*32+20) /* Supervisor Mode Access Prevention 
*/
+#define X86_FEATURE_CLFLUSHOPT (7*32+23) /* CLFLUSHOPT instruction */
+#define X86_FEATURE_AVX512PF   (7*32+26) /* AVX-512 Prefetch */
+#define X86_FEATURE_AVX512ER   (7*32+27) /* AVX-512 Exponential and Reciprocal 
*/
+#define X86_FEATURE_AVX512CD   (7*32+28) /* AVX-512 Conflict Detection */
 
 #ifndef __ASSEMBLY__
 #define cpu_has(c, bit)                test_bit(bit, (c)->x86_capability)
diff --git a/xen/include/asm-x86/hvm/vmx/vmcs.h 
b/xen/include/asm-x86/hvm/vmx/vmcs.h
index 445b39f..7d1b0cc 100644
--- a/xen/include/asm-x86/hvm/vmx/vmcs.h
+++ b/xen/include/asm-x86/hvm/vmx/vmcs.h
@@ -212,8 +212,13 @@ extern u32 vmx_vmentry_control;
 #define SECONDARY_EXEC_APIC_REGISTER_VIRT       0x00000100
 #define SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY    0x00000200
 #define SECONDARY_EXEC_PAUSE_LOOP_EXITING       0x00000400
+#define SECONDARY_EXEC_RDRAND_EXITING           0x00000800
 #define SECONDARY_EXEC_ENABLE_INVPCID           0x00001000
+#define SECONDARY_EXEC_ENABLE_VMFUNCS           0x00002000
 #define SECONDARY_EXEC_ENABLE_VMCS_SHADOWING    0x00004000
+#define SECONDARY_EXEC_RDSEED_EXITING           0x00010000
+#define SECONDARY_EXEC_EPT_VIOLATION_VE         0x00040000
+#define SECONDARY_EXEC_ENABLE_XSAVES            0x00100000
 extern u32 vmx_secondary_exec_control;
 
 #define VMX_EPT_EXEC_ONLY_SUPPORTED             0x00000001
diff --git a/xen/include/asm-x86/hvm/vmx/vmx.h 
b/xen/include/asm-x86/hvm/vmx/vmx.h
index c8bb548..1aa006d 100644
--- a/xen/include/asm-x86/hvm/vmx/vmx.h
+++ b/xen/include/asm-x86/hvm/vmx/vmx.h
@@ -184,7 +184,12 @@ static inline unsigned long pi_get_pir(struct pi_desc 
*pi_desc, int group)
 #define EXIT_REASON_WBINVD              54
 #define EXIT_REASON_XSETBV              55
 #define EXIT_REASON_APIC_WRITE          56
+#define EXIT_REASON_RDRAND              57
 #define EXIT_REASON_INVPCID             58
+#define EXIT_REASON_VMFUNC              59
+#define EXIT_REASON_RDSEED              61
+#define EXIT_REASON_XSAVES              63
+#define EXIT_REASON_XRSTORS             64
 
 /*
  * Interruption-information format
-- 
1.9.1


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.