This series applies miscellaneous fixes and enhancements to Hyper-V emulation code in QEMU, and lays out the ground for VMBus devices.
To give you a heads up, we currently have an implementation of VMBus SCSI storage controller that works with native drivers in Windows 2008sp2 to 2016 and Linux; when used with modified SeaBIOS it can also install and boot with no extra drivers required. We hope to submit it within 2.10 merge window in a few reasonably-sized self-contained patchsets; this is the first one. 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 msrs are inited properly hyperv: ensure VP index equal to QEMU cpu_index hyperv: helper to find vcpu by VP 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: qdev-ify SynIC kvm-all: make async_safe_run_on_cpu safe on kvm too hyperv: make overlay pages for SynIC hyperv: map overlay pages after updating msrs 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 target/i386/cpu.h | 18 +- target/i386/hyperv.h | 38 ++- target/i386/hyperv_proto.h | 257 +++++++++++++++++ hw/misc/hyperv_testdev.c | 269 ++++++++++++++---- kvm-all.c | 2 + target/i386/cpu.c | 4 +- target/i386/hyperv.c | 612 +++++++++++++++++++++++++++++++++++++--- target/i386/kvm.c | 126 ++++++--- target/i386/machine.c | 15 +- MAINTAINERS | 7 + scripts/update-linux-headers.sh | 4 +- 11 files changed, 1189 insertions(+), 163 deletions(-) create mode 100644 target/i386/hyperv_proto.h -- 2.9.4