qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] KVM: expose Intel cpu new features to guest


From: Liu, Jinsong
Subject: Re: [Qemu-devel] [PATCH] KVM: expose Intel cpu new features to guest
Date: Tue, 6 Mar 2012 04:28:58 +0000

Avi,

Any comments?

Thanks,
Jinsong

Liu, Jinsong wrote:
> From ecd8be962f69393c183f941bfdbd7a7d3876d442 Mon Sep 17 00:00:00 2001
> From: Liu, Jinsong <address@hidden>
> Date: Mon, 27 Feb 2012 05:19:32 +0800
> Subject: [PATCH] KVM: expose Intel cpu new features to guest
> 
> Intel recently release 2 new features, HLE and TRM.
> Refer to http://software.intel.com/file/41417.
> This patch expose them to guest.
> 
> Signed-off-by: Liu, Jinsong <address@hidden>
> ---
>  arch/x86/include/asm/cpufeature.h |    2 ++
>  arch/x86/kvm/cpuid.c              |    3 ++-
>  2 files changed, 4 insertions(+), 1 deletions(-)
> 
> diff --git a/arch/x86/include/asm/cpufeature.h
> b/arch/x86/include/asm/cpufeature.h 
> index 17c5d4b..e8d12a8 100644
> --- a/arch/x86/include/asm/cpufeature.h
> +++ b/arch/x86/include/asm/cpufeature.h
> @@ -198,10 +198,12 @@
>  /* Intel-defined CPU features, CPUID level 0x00000007:0 (ebx), word
>  9 */ #define X86_FEATURE_FSGSBASE    (9*32+ 0) /* {RD/WR}{FS/GS}BASE
>  instructions*/ #define X86_FEATURE_BMI1      (9*32+ 3) /* 1st group bit
> manipulation extensions */ +#define X86_FEATURE_HLE           (9*32+ 4) /*
>  Hardware Lock Elision */ #define X86_FEATURE_AVX2    (9*32+ 5) /* AVX2
>  instructions */ #define X86_FEATURE_SMEP     (9*32+ 7) /* Supervisor
>  Mode Execution Protection */ #define X86_FEATURE_BMI2        (9*32+ 8) /*
>  2nd group bit manipulation extensions */ #define
> X86_FEATURE_ERMS      (9*32+ 9) /* Enhanced REP MOVSB/STOSB */ +#define
> X86_FEATURE_RTM               (9*32+11) /* Restricted Transactional Memory */ 
> 
>  #if defined(__KERNEL__) && !defined(__ASSEMBLY__)
> 
> diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
> index 9fed5be..c2134b8 100644
> --- a/arch/x86/kvm/cpuid.c
> +++ b/arch/x86/kvm/cpuid.c
> @@ -247,7 +247,8 @@ static 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(AVX2) | F(SMEP) | F(BMI2) | F(ERMS);
> +             F(FSGSBASE) | F(BMI1) | F(HLE) | F(AVX2) | F(SMEP) |
> +             F(BMI2) | F(ERMS) | F(RTM);
> 
>       /* all calls to cpuid_count() should be made on the same cpu */
>       get_cpu();




reply via email to

[Prev in Thread] Current Thread [Next in Thread]