• Vitaly Kuznetsov's avatar
    KVM: x86: hyper-v: Prepare to meet unallocated Hyper-V context · f2bc14b6
    Vitaly Kuznetsov authored
    Currently, Hyper-V context is part of 'struct kvm_vcpu_arch' and is always
    available. As a preparation to allocating it dynamically, check that it is
    not NULL at call sites which can normally proceed without it i.e. the
    behavior is identical to the situation when Hyper-V emulation is not being
    used by the guest.
    
    When Hyper-V context for a particular vCPU is not allocated, we may still
    need to get 'vp_index' from there. E.g. in a hypothetical situation when
    Hyper-V emulation was enabled on one CPU and wasn't on another, Hyper-V
    style send-IPI hypercall may still be used. Luckily, vp_index is always
    initialized to kvm_vcpu_get_idx() and can only be changed when Hyper-V
    context is present. Introduce kvm_hv_get_vpindex() helper for
    simplification.
    
    No functional change intended.
    Signed-off-by: default avatarVitaly Kuznetsov <vkuznets@redhat.com>
    Message-Id: <20210126134816.1880136-12-vkuznets@redhat.com>
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    f2bc14b6
hyperv.c 55 KB