lkml.org 
[lkml]   [2023]   [Oct]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 05/14] KVM: x86: hyper-v: Introduce kvm_hv_synic_has_vector()
    Date
    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>
    Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
    ---
    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 f7abc1008cad..3242f3da2457 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);
    --
    2.41.0
    \
     
     \ /
      Last update: 2023-10-25 17:27    [W:5.376 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site