On Wed, Nov 30, 2016 at 3:16 AM, Paolo Bonzini <pbonzini@xxxxxxxxxx> 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. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html