| Subject | Re: [RFC PATCH v2 63/69] KVM: VMX: Move .get_interrupt_shadow() implementation to common VMX code | From | Paolo Bonzini <> | Date | Tue, 6 Jul 2021 16:17:55 +0200 |
| |
On 03/07/21 00:05, isaku.yamahata@intel.com wrote: > From: Sean Christopherson <sean.j.christopherson@intel.com> > > Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com> > Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com> > --- > arch/x86/kvm/vmx/common.h | 14 ++++++++++++++ > arch/x86/kvm/vmx/vmx.c | 10 +--------- > 2 files changed, 15 insertions(+), 9 deletions(-) > > diff --git a/arch/x86/kvm/vmx/common.h b/arch/x86/kvm/vmx/common.h > index 755aaec85199..817ff3e74933 100644 > --- a/arch/x86/kvm/vmx/common.h > +++ b/arch/x86/kvm/vmx/common.h > @@ -120,6 +120,20 @@ static inline int __vmx_handle_ept_violation(struct kvm_vcpu *vcpu, gpa_t gpa, > return kvm_mmu_page_fault(vcpu, gpa, error_code, NULL, 0); > } > > +static inline u32 __vmx_get_interrupt_shadow(struct kvm_vcpu *vcpu) > +{ > + u32 interruptibility; > + int ret = 0; > + > + interruptibility = vmread32(vcpu, GUEST_INTERRUPTIBILITY_INFO); > + if (interruptibility & GUEST_INTR_STATE_STI) > + ret |= KVM_X86_SHADOW_INT_STI; > + if (interruptibility & GUEST_INTR_STATE_MOV_SS) > + ret |= KVM_X86_SHADOW_INT_MOV_SS; > + > + return ret; > +} > + > static inline u32 vmx_encode_ar_bytes(struct kvm_segment *var) > { > u32 ar; > diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c > index d69d4dc7c071..d31cace67907 100644 > --- a/arch/x86/kvm/vmx/vmx.c > +++ b/arch/x86/kvm/vmx/vmx.c > @@ -1467,15 +1467,7 @@ void vmx_set_rflags(struct kvm_vcpu *vcpu, unsigned long rflags) > > u32 vmx_get_interrupt_shadow(struct kvm_vcpu *vcpu) > { > - u32 interruptibility = vmcs_read32(GUEST_INTERRUPTIBILITY_INFO); > - int ret = 0; > - > - if (interruptibility & GUEST_INTR_STATE_STI) > - ret |= KVM_X86_SHADOW_INT_STI; > - if (interruptibility & GUEST_INTR_STATE_MOV_SS) > - ret |= KVM_X86_SHADOW_INT_MOV_SS; > - > - return ret; > + return __vmx_get_interrupt_shadow(vcpu); > } > > void vmx_set_interrupt_shadow(struct kvm_vcpu *vcpu, int mask) >
Is there any reason to add the __ version, since at this point kvm_x86_ops is already pointing to vt_get_interrupt_shadow?
Paolo
|