2014-02-21 17:36:43

by Liu, Jinsong

[permalink] [raw]
Subject: [PATCH] KVM: x86: expose ADX feature to guest

>From 0750e335eb5860b0b483e217e8a08bd743cbba16 Mon Sep 17 00:00:00 2001
From: Liu Jinsong <[email protected]>
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 <[email protected]>
Signed-off-by: Liu Jinsong <[email protected]>
---
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();
--
1.7.1


2014-02-22 14:55:11

by Paolo Bonzini

[permalink] [raw]
Subject: Re: [PATCH] KVM: x86: expose ADX feature to guest

Il 21/02/2014 18:36, Liu, Jinsong ha scritto:
> From 0750e335eb5860b0b483e217e8a08bd743cbba16 Mon Sep 17 00:00:00 2001
> From: Liu Jinsong <[email protected]>
> 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 <[email protected]>
> Signed-off-by: Liu Jinsong <[email protected]>
> ---
> 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