Sean Christopherson <sean.j.christopherson@xxxxxxxxx> writes: > Drop the explicit @func param from ->set_supported_cpuid() and instead > pull the CPUID function from the relevant entry. This sets the stage > for hardening guest CPUID updates in future patches, e.g. allows adding > run-time assertions that the CPUID feature being changed is actually > a bit in the referenced CPUID entry. > > No functional change intended. > > Signed-off-by: Sean Christopherson <sean.j.christopherson@xxxxxxxxx> > --- > arch/x86/include/asm/kvm_host.h | 2 +- > arch/x86/kvm/cpuid.c | 2 +- > arch/x86/kvm/svm.c | 4 ++-- > arch/x86/kvm/vmx/vmx.c | 4 ++-- > 4 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h > index 85f0d96cfeb2..a61928d5435b 100644 > --- a/arch/x86/include/asm/kvm_host.h > +++ b/arch/x86/include/asm/kvm_host.h > @@ -1148,7 +1148,7 @@ struct kvm_x86_ops { > > void (*set_tdp_cr3)(struct kvm_vcpu *vcpu, unsigned long cr3); > > - void (*set_supported_cpuid)(u32 func, struct kvm_cpuid_entry2 *entry); > + void (*set_supported_cpuid)(struct kvm_cpuid_entry2 *entry); > > bool (*has_wbinvd_exit)(void); > > diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c > index 056faf27b14b..e3026fe638aa 100644 > --- a/arch/x86/kvm/cpuid.c > +++ b/arch/x86/kvm/cpuid.c > @@ -784,7 +784,7 @@ static inline int __do_cpuid_func(struct kvm_cpuid_array *array, u32 function) > break; > } > > - kvm_x86_ops->set_supported_cpuid(function, entry); > + kvm_x86_ops->set_supported_cpuid(entry); > > r = 0; > > diff --git a/arch/x86/kvm/svm.c b/arch/x86/kvm/svm.c > index 3c7ddaff405d..535eb746fb0f 100644 > --- a/arch/x86/kvm/svm.c > +++ b/arch/x86/kvm/svm.c > @@ -6032,9 +6032,9 @@ static void svm_cpuid_update(struct kvm_vcpu *vcpu) > > #define F feature_bit > > -static void svm_set_supported_cpuid(u32 func, struct kvm_cpuid_entry2 *entry) > +static void svm_set_supported_cpuid(struct kvm_cpuid_entry2 *entry) > { > - switch (func) { > + switch (entry->function) { > case 0x1: > if (avic) > entry->ecx &= ~F(X2APIC); > diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c > index 98fd651f7f7e..3ff830e2258e 100644 > --- a/arch/x86/kvm/vmx/vmx.c > +++ b/arch/x86/kvm/vmx/vmx.c > @@ -7104,9 +7104,9 @@ static void vmx_cpuid_update(struct kvm_vcpu *vcpu) > } > } > > -static void vmx_set_supported_cpuid(u32 func, struct kvm_cpuid_entry2 *entry) > +static void vmx_set_supported_cpuid(struct kvm_cpuid_entry2 *entry) > { > - if (func == 1 && nested) > + if (entry->function == 1 && nested) > entry->ecx |= feature_bit(VMX); > } Reviewed-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> -- Vitaly