On Thu, Jun 16, 2016 at 02:05:29PM +0800, Haozhong Zhang wrote:
> msr_ia32_feature_control will be used for LMCE and not depend only on
> nested anymore, so move it from struct nested_vmx to struct vcpu_vmx.
> 
> Signed-off-by: Haozhong Zhang <haozhong.zh...@intel.com>
> ---
>  arch/x86/kvm/vmx.c | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c
> index 57ec6a4..6b63f2d 100644
> --- a/arch/x86/kvm/vmx.c
> +++ b/arch/x86/kvm/vmx.c
> @@ -421,7 +421,6 @@ struct nested_vmx {
>       struct pi_desc *pi_desc;
>       bool pi_pending;
>       u16 posted_intr_nv;
> -     u64 msr_ia32_feature_control;
>  
>       struct hrtimer preemption_timer;
>       bool preemption_timer_expired;
> @@ -602,6 +601,8 @@ struct vcpu_vmx {
>       bool guest_pkru_valid;
>       u32 guest_pkru;
>       u32 host_pkru;
> +
> +     u64 msr_ia32_feature_control;
>  };
>  
>  enum segment_cache_field {
> @@ -2907,7 +2908,7 @@ static int vmx_get_msr(struct kvm_vcpu *vcpu, struct 
> msr_data *msr_info)
>       case MSR_IA32_FEATURE_CONTROL:
>               if (!nested_vmx_allowed(vcpu))
>                       return 1;
> -             msr_info->data = to_vmx(vcpu)->nested.msr_ia32_feature_control;
> +             msr_info->data = to_vmx(vcpu)->msr_ia32_feature_control;

Since this moves out of struct nested_vmx, that check above it:

        if (!nested_vmx_allowed(vcpu))

should not influence it anymore, no?

Ditto for the rest.

-- 
Regards/Gruss,
    Boris.

SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton, HRB 21284 
(AG Nürnberg)
-- 

Reply via email to