У вт, 2023-10-10 у 18:02 +0200, Vitaly Kuznetsov пише: > As a preparation to making Hyper-V emulation optional, create a dedicated > kvm_hv_synic_has_vector() helper to avoid extra ifdefs in lapic.c. > > No functional change intended. > > Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> > --- > arch/x86/kvm/hyperv.h | 5 +++++ > arch/x86/kvm/lapic.c | 3 +-- > 2 files changed, 6 insertions(+), 2 deletions(-) > > diff --git a/arch/x86/kvm/hyperv.h b/arch/x86/kvm/hyperv.h > index 1897a219981d..ddb1d0b019e6 100644 > --- a/arch/x86/kvm/hyperv.h > +++ b/arch/x86/kvm/hyperv.h > @@ -105,6 +105,11 @@ int kvm_hv_synic_set_irq(struct kvm *kvm, u32 vcpu_id, u32 sint); > void kvm_hv_synic_send_eoi(struct kvm_vcpu *vcpu, int vector); > int kvm_hv_activate_synic(struct kvm_vcpu *vcpu, bool dont_zero_synic_pages); > > +static inline bool kvm_hv_synic_has_vector(struct kvm_vcpu *vcpu, int vector) > +{ > + return to_hv_vcpu(vcpu) && test_bit(vector, to_hv_synic(vcpu)->vec_bitmap); > +} > + > static inline bool kvm_hv_synic_auto_eoi_set(struct kvm_vcpu *vcpu, int vector) > { > return to_hv_vcpu(vcpu) && test_bit(vector, to_hv_synic(vcpu)->auto_eoi_bitmap); > diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c > index 0e80c1fdf899..37904c5d421b 100644 > --- a/arch/x86/kvm/lapic.c > +++ b/arch/x86/kvm/lapic.c > @@ -1475,8 +1475,7 @@ static int apic_set_eoi(struct kvm_lapic *apic) > apic_clear_isr(vector, apic); > apic_update_ppr(apic); > > - if (to_hv_vcpu(apic->vcpu) && > - test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap)) > + if (kvm_hv_synic_has_vector(apic->vcpu, vector)) > kvm_hv_synic_send_eoi(apic->vcpu, vector); > > kvm_ioapic_send_eoi(apic, vector); Reviewed-by: Maxim Levitsky <mlevitsk@xxxxxxxxxx Best regards, Maxim Levitsky