mirror of
https://github.com/xen-project/xen.git
synced 2026-10-30 03:00:05 +01:00
x86,tools/libxc: expose HLE/RTM features to pv and hvm
Intel recently release 2 new features, HLE and TRM. Refer to http://software.intel.com/file/41417. This patch expose them to pv and hvm Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com> Committed-by: Keir Fraser <keir@xen.org>
This commit is contained in:
1 parent
d9659850fb
commit
db730e2b4f
2 files changed
+6
No files matched your search
@@ -129,10 +129,12 @@
|
||||
/* Intel-defined CPU features, CPUID level 0x00000007:0 (ebx) */
|
||||
#define X86_FEATURE_FSGSBASE 0 /* {RD,WR}{FS,GS}BASE instructions */
|
||||
#define X86_FEATURE_BMI1 3 /* 1st group bit manipulation extensions */
|
||||
#define X86_FEATURE_HLE 4 /* Hardware Lock Elision */
|
||||
#define X86_FEATURE_AVX2 5 /* AVX2 instructions */
|
||||
#define X86_FEATURE_SMEP 7 /* Supervisor Mode Execution Protection */
|
||||
#define X86_FEATURE_BMI2 8 /* 2nd group bit manipulation extensions */
|
||||
#define X86_FEATURE_ERMS 9 /* Enhanced REP MOVSB/STOSB */
|
||||
#define X86_FEATURE_INVPCID 10 /* Invalidate Process Context ID */
|
||||
#define X86_FEATURE_RTM 11 /* Restricted Transactional Memory */
|
||||
|
||||
#endif /* __LIBXC_CPUFEATURE_H */
|
||||
@@ -363,11 +363,13 @@ static void xc_cpuid_hvm_policy(
|
||||
case 0x00000007: /* Intel-defined CPU features */
|
||||
if ( input[1] == 0 ) {
|
||||
regs[1] &= (bitmaskof(X86_FEATURE_BMI1) |
|
||||
bitmaskof(X86_FEATURE_HLE) |
|
||||
bitmaskof(X86_FEATURE_AVX2) |
|
||||
bitmaskof(X86_FEATURE_SMEP) |
|
||||
bitmaskof(X86_FEATURE_BMI2) |
|
||||
bitmaskof(X86_FEATURE_ERMS) |
|
||||
bitmaskof(X86_FEATURE_INVPCID) |
|
||||
bitmaskof(X86_FEATURE_RTM) |
|
||||
bitmaskof(X86_FEATURE_FSGSBASE));
|
||||
} else
|
||||
regs[1] = 0;
|
||||
@@ -496,9 +498,11 @@ static void xc_cpuid_pv_policy(
|
||||
case 0x00000007:
|
||||
if ( input[1] == 0 )
|
||||
regs[1] &= (bitmaskof(X86_FEATURE_BMI1) |
|
||||
bitmaskof(X86_FEATURE_HLE) |
|
||||
bitmaskof(X86_FEATURE_AVX2) |
|
||||
bitmaskof(X86_FEATURE_BMI2) |
|
||||
bitmaskof(X86_FEATURE_ERMS) |
|
||||
bitmaskof(X86_FEATURE_RTM) |
|
||||
bitmaskof(X86_FEATURE_FSGSBASE));
|
||||
else
|
||||
regs[1] = 0;
|
||||
|
||||