On 07/05/20 05:01, Jon Doron wrote: > Paolo was this merged in or by any chance in the queue? No, I'll get to it today. Paolo > Thanks, > -- Jon. > > On 24/04/2020, Jon Doron wrote: >> Add support for the synthetic debugger interface of hyper-v, the >> synthetic debugger has 2 modes. >> 1. Use a set of MSRs to send/recv information (undocumented so it's not >> going to the hyperv-tlfs.h) >> 2. Use hypercalls >> >> The first mode is based the following MSRs: >> 1. Control/Status MSRs which either asks for a send/recv . >> 2. Send/Recv MSRs each holds GPA where the send/recv buffers are. >> 3. Pending MSR, holds a GPA to a PAGE that simply has a boolean that >> indicates if there is data pending to issue a recv VMEXIT. >> >> The first mode implementation is to simply exit to user-space when >> either the control MSR or the pending MSR are being set. >> Then it's up-to userspace to implement the rest of the logic of >> sending/recving. >> >> In the second mode instead of using MSRs KNet will simply issue >> Hypercalls with the information to send/recv, in this mode the data >> being transferred is UDP encapsulated, unlike in the previous mode in >> which you get just the data to send. >> >> The new hypercalls will exit to userspace which will be incharge of >> re-encapsulating if needed the UDP packets to be sent. >> >> There is an issue though in which KDNet does not respect the hypercall >> page and simply issues vmcall/vmmcall instructions depending on the cpu >> type expecting them to be handled as it a real hypercall was issued. >> >> It's important to note that part of this feature has been subject to be >> removed in future versions of Windows, which is why some of the >> defintions will not be present the the TLFS but in the kvm hyperv header >> instead. >> >> v11: >> Fixed all reviewed by and rebased on latest origin/master >> >> Jon Doron (6): >> x86/kvm/hyper-v: Explicitly align hcall param for kvm_hyperv_exit >> x86/kvm/hyper-v: Simplify addition for custom cpuid leafs >> x86/hyper-v: Add synthetic debugger definitions >> x86/kvm/hyper-v: Add support for synthetic debugger capability >> x86/kvm/hyper-v: enable hypercalls without hypercall page with syndbg >> x86/kvm/hyper-v: Add support for synthetic debugger via hypercalls >> >> Vitaly Kuznetsov (1): >> KVM: selftests: update hyperv_cpuid with SynDBG tests >> >> Documentation/virt/kvm/api.rst | 18 ++ >> arch/x86/include/asm/hyperv-tlfs.h | 6 + >> arch/x86/include/asm/kvm_host.h | 14 + >> arch/x86/kvm/hyperv.c | 242 ++++++++++++++++-- >> arch/x86/kvm/hyperv.h | 33 +++ >> arch/x86/kvm/trace.h | 51 ++++ >> arch/x86/kvm/x86.c | 13 + >> include/uapi/linux/kvm.h | 13 + >> .../selftests/kvm/x86_64/hyperv_cpuid.c | 143 +++++++---- >> 9 files changed, 468 insertions(+), 65 deletions(-) >> >> -- >> 2.24.1 >> >