RE: [PATCH v2 2/2] KVM: SVM: Add support for Virtual SPEC_CTRL

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

 




> -----Original Message-----
> From: Sean Christopherson <seanjc@xxxxxxxxxx>
> Sent: Wednesday, December 30, 2020 10:08 AM
> To: Borislav Petkov <bp@xxxxxxxxx>
> Cc: Moger, Babu <Babu.Moger@xxxxxxx>; pbonzini@xxxxxxxxxx;
> tglx@xxxxxxxxxxxxx; mingo@xxxxxxxxxx; fenghua.yu@xxxxxxxxx;
> tony.luck@xxxxxxxxx; wanpengli@xxxxxxxxxxx; kvm@xxxxxxxxxxxxxxx;
> Lendacky, Thomas <Thomas.Lendacky@xxxxxxx>; peterz@xxxxxxxxxxxxx;
> joro@xxxxxxxxxx; x86@xxxxxxxxxx; kyung.min.park@xxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; krish.sadhukhan@xxxxxxxxxx; hpa@xxxxxxxxx;
> mgross@xxxxxxxxxxxxxxx; vkuznets@xxxxxxxxxx; Phillips, Kim
> <kim.phillips@xxxxxxx>; Huang2, Wei <Wei.Huang2@xxxxxxx>;
> jmattson@xxxxxxxxxx
> Subject: Re: [PATCH v2 2/2] KVM: SVM: Add support for Virtual SPEC_CTRL
> 
> On Wed, Dec 30, 2020, Borislav Petkov wrote:
> > On Tue, Dec 22, 2020 at 04:31:55PM -0600, Babu Moger wrote:
> > > @@ -2549,7 +2559,10 @@ static int svm_get_msr(struct kvm_vcpu *vcpu,
> struct msr_data *msr_info)
> > >  		    !guest_cpuid_has(vcpu, X86_FEATURE_AMD_SSBD))
> > >  			return 1;
> > >
> > > -		msr_info->data = svm->spec_ctrl;
> > > +		if (static_cpu_has(X86_FEATURE_V_SPEC_CTRL))
> > > +			msr_info->data = svm->vmcb->save.spec_ctrl;
> > > +		else
> > > +			msr_info->data = svm->spec_ctrl;
> > >  		break;
> > >  	case MSR_AMD64_VIRT_SPEC_CTRL:
> > >  		if (!msr_info->host_initiated &&
> > > @@ -2640,6 +2653,8 @@ static int svm_set_msr(struct kvm_vcpu *vcpu,
> struct msr_data *msr)
> > >  			return 1;
> > >
> > >  		svm->spec_ctrl = data;
> > > +		if (static_cpu_has(X86_FEATURE_V_SPEC_CTRL))
> > > +			svm->vmcb->save.spec_ctrl = data;
> > >  		if (!data)
> > >  			break;
> > >
> >
> > Are the get/set_msr() accessors such a fast path that they need
> > static_cpu_has() ?
> 
> Nope, they can definitely use boot_cpu_has().

With Tom's latest comment, this change may not be required.
I will remove these changes.
Thanks
Babu



[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux