Changes since v1: - avoid open-coding stimer_mark_pending() in kvm_hv_notify_acked_sint() and kvm_hv_synic_send_eoi [Paolo Bonzini] Turns out Hyper-V on KVM (as of 2016) will only use synthetic timers if direct mode is available. With direct mode we notify the guest by asserting APIC irq instead of sending a SynIC message. Qemu and kvm-unit-test patches for testing this series can be found in v1 submission: https://lkml.org/lkml/2018/11/13/972 Vitaly Kuznetsov (4): x86/hyper-v: move synic/stimer control structures definitions to hyperv-tlfs.h x86/kvm/hyper-v: use stimer config definition from hyperv-tlfs.h x86/kvm/hyper-v: direct mode for synthetic timers x86/kvm/hyper-v: avoid open-coding stimer_mark_pending() in kvm_hv_notify_acked_sint() arch/x86/include/asm/hyperv-tlfs.h | 73 ++++++++++++++++++-- arch/x86/include/asm/kvm_host.h | 2 +- arch/x86/kvm/hyperv.c | 106 +++++++++++++++++++++-------- arch/x86/kvm/trace.h | 10 +-- arch/x86/kvm/x86.c | 1 + drivers/hv/hv.c | 2 +- drivers/hv/hyperv_vmbus.h | 68 ------------------ include/uapi/linux/kvm.h | 1 + 8 files changed, 154 insertions(+), 109 deletions(-) -- 2.19.1