2014-02-21 17:34:24

by Liu, Jinsong

[permalink] [raw]
Subject: [PATCH] KVM: x86: expose new instruction RDSEED to guest

>From 24ffdce9efebf13c6ed4882f714b2b57ef1141eb Mon Sep 17 00:00:00 2001
From: Liu Jinsong <[email protected]>
Date: Thu, 20 Feb 2014 17:38:26 +0800
Subject: [PATCH] KVM: x86: expose new instruction RDSEED to guest

RDSEED instruction return a random number, which supplied by a
cryptographically secure, deterministic random bit generator(DRBG).

Signed-off-by: Xudong Hao <[email protected]>
Signed-off-by: Liu Jinsong <[email protected]>
---
arch/x86/kvm/cpuid.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
index c697625..abe18b4 100644
--- a/arch/x86/kvm/cpuid.c
+++ b/arch/x86/kvm/cpuid.c
@@ -303,7 +303,7 @@ 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(BMI2) | F(ERMS) | f_invpcid | F(RTM) | F(RDSEED);

/* all calls to cpuid_count() should be made on the same cpu */
get_cpu();
--
1.7.1


2014-02-22 14:54:55

by Paolo Bonzini

[permalink] [raw]
Subject: Re: [PATCH] KVM: x86: expose new instruction RDSEED to guest

Il 21/02/2014 18:33, Liu, Jinsong ha scritto:
> From 24ffdce9efebf13c6ed4882f714b2b57ef1141eb Mon Sep 17 00:00:00 2001
> From: Liu Jinsong <[email protected]>
> Date: Thu, 20 Feb 2014 17:38:26 +0800
> Subject: [PATCH] KVM: x86: expose new instruction RDSEED to guest
>
> RDSEED instruction return a random number, which supplied by a
> cryptographically secure, deterministic random bit generator(DRBG).
>
> Signed-off-by: Xudong Hao <[email protected]>
> Signed-off-by: Liu Jinsong <[email protected]>
> ---
> arch/x86/kvm/cpuid.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
> index c697625..abe18b4 100644
> --- a/arch/x86/kvm/cpuid.c
> +++ b/arch/x86/kvm/cpuid.c
> @@ -303,7 +303,7 @@ 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(BMI2) | F(ERMS) | f_invpcid | F(RTM) | F(RDSEED);
>
> /* all calls to cpuid_count() should be made on the same cpu */
> get_cpu();
>

Applied to kvm/queue, thanks.

Paolo