This series applies miscellaneous fixes and enhancements to Hyper-V emulation code in QEMU, and lays out the ground for VMBus devices.
v1 -> v2: - drop the already merged patch - split and rework SINTx and SVERSION msrs init - factor out hyperv vcpu init to a function - rework vp_index management - distinguish kvm-only (== legacy) mode for SynIC - use new capabilities recently submitted to KVM - add compat logic for SynIC - drop workaround for KVM zeroing SynIC pages - minor fixes according to comments Evgeny Yakovlev (1): hyperv: set partition-wide MSRs only on first vcpu Roman Kagan (22): hyperv: add header with protocol definitions update-linux-headers: prepare for hyperv.h removal hyperv: ensure SINTx msrs are reset properly hyperv: make SynIC version msr constant [not to commit] add new hyperv-related caps hyperv: ensure VP index equal to QEMU cpu_index hyperv_testdev: refactor for readability hyperv: cosmetic: g_malloc -> g_new hyperv: synic: only setup ack notifier if there's a callback hyperv: allow passing arbitrary data to sint ack callback hyperv: address HvSintRoute by X86CPU pointer hyperv: make HvSintRoute reference-counted hyperv: qom-ify SynIC hyperv: block SynIC use in QEMU in incompatible configurations hyperv: make overlay pages for SynIC hyperv: add synic message delivery hyperv: add synic event flag signaling hyperv: process SIGNAL_EVENT hypercall hyperv: process POST_MESSAGE hypercall hyperv_testdev: add SynIC message and event testmodes MAINTAINERS: add myself and eyakovlev@ for hyperv* hyperv: update copyright notices include/hw/i386/pc.h | 5 + linux-headers/linux/kvm.h | 2 + target/i386/cpu.h | 16 +- target/i386/hyperv.h | 40 ++- target/i386/hyperv_proto.h | 257 ++++++++++++++++ hw/misc/hyperv_testdev.c | 267 +++++++++++++---- target/i386/cpu.c | 4 +- target/i386/hyperv.c | 634 ++++++++++++++++++++++++++++++++++++++-- target/i386/kvm.c | 167 +++++++---- target/i386/machine.c | 24 +- MAINTAINERS | 7 + scripts/update-linux-headers.sh | 4 +- 12 files changed, 1256 insertions(+), 171 deletions(-) create mode 100644 target/i386/hyperv_proto.h -- 2.9.4