Patchwork KVM: x86: expose ADX feature to guest

login
register
mail settings
Submitter Liu, Jinsong
Date Feb. 21, 2014, 5:36 p.m.
Message ID <DE8DF0795D48FD4CA783C40EC829233501509B37@SHSMSX101.ccr.corp.intel.com>
Download mbox | patch
Permalink /patch/322964/
State New
Headers show

Comments

Liu, Jinsong - Feb. 21, 2014, 5:36 p.m.
From 0750e335eb5860b0b483e217e8a08bd743cbba16 Mon Sep 17 00:00:00 2001
From: Liu Jinsong <jinsong.liu@intel.com>
Date: Thu, 20 Feb 2014 17:39:32 +0800
Subject: [PATCH] KVM: x86: expose ADX feature to guest

ADCX and ADOX instructions perform an unsigned addition with Carry flag and
Overflow flag respectively.

Signed-off-by: Xudong Hao <xudong.hao@intel.com>
Signed-off-by: Liu Jinsong <jinsong.liu@intel.com>
---
 arch/x86/kvm/cpuid.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)
Paolo Bonzini - Feb. 22, 2014, 2:54 p.m.
Il 21/02/2014 18:36, Liu, Jinsong ha scritto:
> From 0750e335eb5860b0b483e217e8a08bd743cbba16 Mon Sep 17 00:00:00 2001
> From: Liu Jinsong <jinsong.liu@intel.com>
> Date: Thu, 20 Feb 2014 17:39:32 +0800
> Subject: [PATCH] KVM: x86: expose ADX feature to guest
>
> ADCX and ADOX instructions perform an unsigned addition with Carry flag and
> Overflow flag respectively.
>
> Signed-off-by: Xudong Hao <xudong.hao@intel.com>
> Signed-off-by: Liu Jinsong <jinsong.liu@intel.com>
> ---
>  arch/x86/kvm/cpuid.c |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
> index abe18b4..a951ae4 100644
> --- a/arch/x86/kvm/cpuid.c
> +++ b/arch/x86/kvm/cpuid.c
> @@ -303,7 +303,8 @@ static inline int __do_cpuid_ent(struct kvm_cpuid_entry2 *entry, u32 function,
>  	/* cpuid 7.0.ebx */
>  	const u32 kvm_supported_word9_x86_features =
>  		F(FSGSBASE) | F(BMI1) | F(HLE) | F(AVX2) | F(SMEP) |
> -		F(BMI2) | F(ERMS) | f_invpcid | F(RTM) | F(RDSEED);
> +		F(BMI2) | F(ERMS) | f_invpcid | F(RTM) | F(RDSEED) |
> +		F(ADX);
>
>  	/* all calls to cpuid_count() should be made on the same cpu */
>  	get_cpu();
>

Applied to kvm/queue, thanks.

Paolo

Patch

diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
index abe18b4..a951ae4 100644
--- a/arch/x86/kvm/cpuid.c
+++ b/arch/x86/kvm/cpuid.c
@@ -303,7 +303,8 @@  static inline int __do_cpuid_ent(struct kvm_cpuid_entry2 *entry, u32 function,
 	/* cpuid 7.0.ebx */
 	const u32 kvm_supported_word9_x86_features =
 		F(FSGSBASE) | F(BMI1) | F(HLE) | F(AVX2) | F(SMEP) |
-		F(BMI2) | F(ERMS) | f_invpcid | F(RTM) | F(RDSEED);
+		F(BMI2) | F(ERMS) | f_invpcid | F(RTM) | F(RDSEED) |
+		F(ADX);
 
 	/* all calls to cpuid_count() should be made on the same cpu */
 	get_cpu();