Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933402AbcK3SFp (ORCPT ); Wed, 30 Nov 2016 13:05:45 -0500 Received: from mail-qt0-f171.google.com ([209.85.216.171]:34570 "EHLO mail-qt0-f171.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753431AbcK3SFg (ORCPT ); Wed, 30 Nov 2016 13:05:36 -0500 MIME-Version: 1.0 In-Reply-To: <59bf4f3c-34ab-5cbc-9579-f1a8648804ea@redhat.com> References: <1480472050-58023-1-git-send-email-dmatlack@google.com> <1480472050-58023-2-git-send-email-dmatlack@google.com> <59bf4f3c-34ab-5cbc-9579-f1a8648804ea@redhat.com> From: David Matlack Date: Wed, 30 Nov 2016 10:05:04 -0800 Message-ID: Subject: Re: [PATCH v3 1/5] KVM: nVMX: generate non-true VMX MSRs based on true versions To: Paolo Bonzini Cc: kvm list , "linux-kernel@vger.kernel.org" , Jim Mattson , =?UTF-8?B?UmFkaW0gS3LEjW3DocWZ?= Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 898 Lines: 19 On Wed, Nov 30, 2016 at 3:16 AM, Paolo Bonzini wrote: > On 30/11/2016 03:14, David Matlack wrote: >> >> /* secondary cpu-based controls */ >> @@ -2868,36 +2865,32 @@ static int vmx_get_vmx_msr(struct kvm_vcpu *vcpu, u32 msr_index, u64 *pdata) >> *pdata = vmx_control_msr( >> vmx->nested.nested_vmx_pinbased_ctls_low, >> vmx->nested.nested_vmx_pinbased_ctls_high); >> + if (msr_index == MSR_IA32_VMX_PINBASED_CTLS) >> + *pdata |= PIN_BASED_ALWAYSON_WITHOUT_TRUE_MSR; > > Almost: PIN_BASED_ALWAYSON_WITHOUT_TRUE_MSR must be > added to both the low and high parts. Likewise below. > I guess you can use vmx_control_msr to generate it, too. SGTM. Although that would mean the true MSRs indicate a bit must-be-0 while the non-true MSRs are indicating it must-be-1, which seems odd.