On Thu, Jan 14, 2016 at 11:30:43AM +0300, Pavel Fedin wrote: > > --- a/Documentation/virtual/kvm/api.txt > > +++ b/Documentation/virtual/kvm/api.txt > > @@ -3359,6 +3359,14 @@ Hyper-V SynIC state change. Notification is used to remap SynIC > > event/message pages and to enable/disable SynIC messages/events processing > > in userspace. > > > > + /* KVM_EXIT_HYPERV_HCALL */ > > + struct { > > + __u64 input; > > + __u64 params[2]; > > + __u64 result; > > + } hv_hcall; > > +Indicates that the VCPU exits into userspace to process some guest > > +Hyper-V hypercalls. > > Why introducing this? We already have KVM_EXIT_HYPERCALL, which is exactly the same. AFAIK it's not used at the moment. > Additionally, in theory we could have hypercalls handled in userspace for something else except HyperV. And not only for x86. We thought reusing KVM_EXIT_HYPERCALL was a bad idea exactly because of that. Hypercalls are not universal, the calling and return conventions are hypervisor-specific. KVM already has to make the decision that the particular vmexit is a HyperV hypercall; it appears unnatural to then pass the data on to userspace in a generic structure and have them make that decision again. Roman. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html