Skip to content

Commit 0659262

Browse files
vittyvksean-jc
authored andcommitted
KVM: x86: Introduce helper to check if vector is set in Hyper-V SynIC
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. Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com> Tested-by: Jeremi Piotrowski <jpiotrowski@linux.microsoft.com> Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> Link: https://lore.kernel.org/r/20231205103630.1391318-6-vkuznets@redhat.com Signed-off-by: Sean Christopherson <seanjc@google.com>
1 parent 16e880b commit 0659262

2 files changed

Lines changed: 6 additions & 2 deletions

File tree

arch/x86/kvm/hyperv.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,11 @@ int kvm_hv_synic_set_irq(struct kvm *kvm, u32 vcpu_id, u32 sint);
105105
void kvm_hv_synic_send_eoi(struct kvm_vcpu *vcpu, int vector);
106106
int kvm_hv_activate_synic(struct kvm_vcpu *vcpu, bool dont_zero_synic_pages);
107107

108+
static inline bool kvm_hv_synic_has_vector(struct kvm_vcpu *vcpu, int vector)
109+
{
110+
return to_hv_vcpu(vcpu) && test_bit(vector, to_hv_synic(vcpu)->vec_bitmap);
111+
}
112+
108113
static inline bool kvm_hv_synic_auto_eoi_set(struct kvm_vcpu *vcpu, int vector)
109114
{
110115
return to_hv_vcpu(vcpu) &&

arch/x86/kvm/lapic.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1475,8 +1475,7 @@ static int apic_set_eoi(struct kvm_lapic *apic)
14751475
apic_clear_isr(vector, apic);
14761476
apic_update_ppr(apic);
14771477

1478-
if (to_hv_vcpu(apic->vcpu) &&
1479-
test_bit(vector, to_hv_synic(apic->vcpu)->vec_bitmap))
1478+
if (kvm_hv_synic_has_vector(apic->vcpu, vector))
14801479
kvm_hv_synic_send_eoi(apic->vcpu, vector);
14811480

14821481
kvm_ioapic_send_eoi(apic, vector);

0 commit comments

Comments
 (0)