summaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/kvm.h
diff options
context:
space:
mode:
authorVitaly Kuznetsov2018-09-26 19:02:59 +0200
committerPaolo Bonzini2018-10-17 00:29:47 +0200
commit214ff83d4473a7757fa18a64dc7efe3b0e158486 (patch)
tree1266430cc8c3a199d20d2856bc10e2e4bf7581c4 /include/uapi/linux/kvm.h
parentKVM: x86: hyperv: optimize kvm_hv_flush_tlb() for vp_index == vcpu_idx case (diff)
downloadkernel-qcow2-linux-214ff83d4473a7757fa18a64dc7efe3b0e158486.tar.gz
kernel-qcow2-linux-214ff83d4473a7757fa18a64dc7efe3b0e158486.tar.xz
kernel-qcow2-linux-214ff83d4473a7757fa18a64dc7efe3b0e158486.zip
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>
Diffstat (limited to 'include/uapi/linux/kvm.h')
-rw-r--r--include/uapi/linux/kvm.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
index 7f2ff3a76995..7785678caedb 100644
--- a/include/uapi/linux/kvm.h
+++ b/include/uapi/linux/kvm.h
@@ -955,6 +955,7 @@ struct kvm_ppc_resize_hpt {
#define KVM_CAP_ARM_INJECT_SERROR_ESR 158
#define KVM_CAP_MSR_PLATFORM_INFO 159
#define KVM_CAP_PPC_NESTED_HV 160
+#define KVM_CAP_HYPERV_SEND_IPI 161
#ifdef KVM_CAP_IRQ_ROUTING