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

Re: [Xen-devel] [PATCH 3/3] X86: MPX IA32_BNDCFGS msr handle



>>> On 11.11.13 at 09:40, "Liu, Jinsong" <jinsong.liu@xxxxxxxxx> wrote:
> From 7886ea2feba430067b169b3404911c1e9d7e88f9 Mon Sep 17 00:00:00 2001
> From: Liu Jinsong <jinsong.liu@xxxxxxxxx>
> Date: Fri, 8 Nov 2013 02:00:37 +0800
> Subject: [PATCH 3/3] X86: MPX IA32_BNDCFGS msr handle
> 
> Signed-off-by: Xudong Hao <xudong.hao@xxxxxxxxx>
> Acked-by: Liu Jinsong <jinsong.liu@xxxxxxxxx>

This patch clearly is a prereq for enabling support for HVM guests,
so it can't possibly be the last patch in this series.

> --- a/xen/arch/x86/hvm/vmx/vmcs.c
> +++ b/xen/arch/x86/hvm/vmx/vmcs.c
> @@ -269,7 +269,8 @@ static int vmx_init_vmcs_config(void)
>      }
>  
>      min = VM_EXIT_ACK_INTR_ON_EXIT;
> -    opt = VM_EXIT_SAVE_GUEST_PAT | VM_EXIT_LOAD_HOST_PAT;
> +    opt = VM_EXIT_SAVE_GUEST_PAT | VM_EXIT_LOAD_HOST_PAT |
> +          VM_EXIT_CLEAR_BNDCFGS;
>      min |= VM_EXIT_IA32E_MODE;
>      _vmx_vmexit_control = adjust_vmx_controls(
>          "VMExit Control", min, opt, MSR_IA32_VMX_EXIT_CTLS, &mismatch);
> @@ -283,7 +284,7 @@ static int vmx_init_vmcs_config(void)
>          _vmx_pin_based_exec_control  &= ~ PIN_BASED_POSTED_INTERRUPT;
>  
>      min = 0;
> -    opt = VM_ENTRY_LOAD_GUEST_PAT;
> +    opt = VM_ENTRY_LOAD_GUEST_PAT | VM_ENTRY_LOAD_BNDCFGS;
>      _vmx_vmentry_control = adjust_vmx_controls(
>          "VMEntry Control", min, opt, MSR_IA32_VMX_ENTRY_CTLS, &mismatch);
>  

So up to here the feature is treated as optional. But then no
further consequences result when it's unavailable (in particular
in the [hypothetical?] case where the VMX aspects and the CPUID
one disagree. This needs to be handled properly.

Jan


_______________________________________________
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®.