This series introduces the infrastructure to send and receive Hyper-V
messages and events.

More specifically,

- SynIC is turned into a full-fledged device managing the memory regions
  used for QEMU->guest communication
- machinery is introduced to post messages and signal events to the
  guest
- infrastructure is added to subscribe to messages and events from the
  guest, and to dispatch the received messages and events to the
  subscribers

Based-on: 20180921082041.29380-1-rka...@virtuozzo.com

Roman Kagan (10):
  hyperv:synic: split capability testing and setting
  hyperv: qom-ify SynIC
  hyperv: only add SynIC in compatible configurations
  hyperv: make overlay pages for SynIC
  hyperv: add synic message delivery
  hyperv: add synic event flag signaling
  hyperv: process SIGNAL_EVENT hypercall
  hyperv: add support for KVM_HYPERV_EVENTFD
  hyperv: process POST_MESSAGE hypercall
  hyperv_testdev: add SynIC message and event testmodes

 include/hw/hyperv/hyperv-proto.h |   1 +
 include/hw/hyperv/hyperv.h       |  58 +++-
 include/hw/i386/pc.h             |   8 +
 target/i386/cpu.h                |   1 +
 target/i386/hyperv.h             |   4 +
 hw/hyperv/hyperv.c               | 542 ++++++++++++++++++++++++++++++-
 hw/misc/hyperv_testdev.c         | 165 +++++++++-
 target/i386/cpu.c                |   2 +
 target/i386/hyperv-stub.c        |  13 +
 target/i386/hyperv.c             |  54 ++-
 target/i386/kvm.c                |  45 ++-
 target/i386/machine.c            |   9 +
 12 files changed, 872 insertions(+), 30 deletions(-)

-- 
2.17.1


Reply via email to