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

Re: [Xen-devel] [PATCH 2/2] pvh: set only minimal cr0 and cr4 flags in order to use paging



>>> On 19.11.13 at 13:34, Roger Pau Monne <roger.pau@xxxxxxxxxx> wrote:
> Right now Xen sets the WP and NE flags on cr0 for PVH, which are not
> needed in order to boot with paging enabled. The same happens with
> cr4, at least on my system OSFXSR, OSXMMEXCPT and MCE are enabled by
> default when there's no need.
> 
> Signed-off-by: Roger Pau Monnà <roger.pau@xxxxxxxxxx>
> Cc: George Dunlap <george.dunlap@xxxxxxxxxxxxx>
> Cc: Mukesh Rathor <mukesh.rathor@xxxxxxxxxx>

This finally is what I had been asking for from the beginning.
Thanks!

Acked-by: Jan Beulich <jbeulich@xxxxxxxx>

> Cc: Tim Deegan <tim@xxxxxxx>
> Cc: Keir Fraser <keir@xxxxxxx>
> ---
>  xen/arch/x86/hvm/vmx/vmcs.c |    7 ++-----
>  1 files changed, 2 insertions(+), 5 deletions(-)
> 
> diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
> index 290b42f..33e2544 100644
> --- a/xen/arch/x86/hvm/vmx/vmcs.c
> +++ b/xen/arch/x86/hvm/vmx/vmcs.c
> @@ -28,7 +28,6 @@
>  #include <asm/msr.h>
>  #include <asm/xstate.h>
>  #include <asm/hvm/hvm.h>
> -#include <asm/hvm/nestedhvm.h>
>  #include <asm/hvm/io.h>
>  #include <asm/hvm/support.h>
>  #include <asm/hvm/vmx/vmx.h>
> @@ -1089,13 +1088,11 @@ static int construct_vmcs(struct vcpu *v)
>  
>      /* PVH domains always start in paging mode */
>      if ( is_pvh_domain(d) )
> -        v->arch.hvm_vcpu.guest_cr[0] |= X86_CR0_PG | X86_CR0_NE | 
> X86_CR0_WP;
> +        v->arch.hvm_vcpu.guest_cr[0] |= X86_CR0_PG;
>  
>      hvm_update_guest_cr(v, 0);
>  
> -    v->arch.hvm_vcpu.guest_cr[4] = is_pvh_domain(d) ?
> -        (real_cr4_to_pv_guest_cr4(mmu_cr4_features)
> -         & ~HVM_CR4_GUEST_RESERVED_BITS(v)) : 0;
> +    v->arch.hvm_vcpu.guest_cr[4] = is_pvh_domain(d) ? X86_CR4_PAE : 0;
>      hvm_update_guest_cr(v, 4);
>  
>      if ( cpu_has_vmx_tpr_shadow )
> -- 
> 1.7.7.5 (Apple Git-26)



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.