KVM: x86: hyperv: implement PV IPI send hypercalls
authorVitaly Kuznetsov <vkuznets@redhat.com>
Wed, 26 Sep 2018 17:02:59 +0000 (19:02 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 16 Oct 2018 22:29:47 +0000 (00:29 +0200)
commit214ff83d4473a7757fa18a64dc7efe3b0e158486
tree1266430cc8c3a199d20d2856bc10e2e4bf7581c4
parent2cefc5feb80cf4237890a6a4582a0d20e50d9ced
KVM: x86: hyperv: implement PV IPI send hypercalls

Using hypercall for sending IPIs is faster because this allows to specify
any number of vCPUs (even > 64 with sparse CPU set), the whole procedure
will take only one VMEXIT.

Current Hyper-V TLFS (v5.0b) claims that HvCallSendSyntheticClusterIpi
hypercall can't be 'fast' (passing parameters through registers) but
apparently this is not true, Windows always uses it as 'fast' so we need
to support that.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Documentation/virtual/kvm/api.txt
arch/x86/kvm/hyperv.c
arch/x86/kvm/trace.h
arch/x86/kvm/x86.c
include/uapi/linux/kvm.h