Hyper-V SynIC (synthetic interrupt controller) device
implementation.

The implementation contains:
* msr's support
* irq routing setup
* irq injection
* irq ack callback registration
* event/message pages changes tracking at Hyper-V exit
* Hyper-V test device to test SynIC by kvm-unit-tests

Andrey Smetanin (7):
  standard-headers/x86: add Hyper-V SynIC constants
  target-i386/kvm: Hyper-V SynIC MSR's support
  linux-headers/kvm: add Hyper-V SynIC irq routing type and struct
  kvm: Hyper-V SynIC irq routing support
  linux-headers/kvm: KVM_EXIT_HYPERV type and struct
  target-i386/hyperv: Hyper-V SynIC SINT routing and vCPU exit
  hw/misc: Hyper-V test device 'hyperv-testdev'

 default-configs/i386-softmmu.mak          |   1 +
 default-configs/x86_64-softmmu.mak        |   1 +
 hw/misc/Makefile.objs                     |   1 +
 hw/misc/hyperv_testdev.c                  | 164 ++++++++++++++++++++++++++++++
 include/standard-headers/asm-x86/hyperv.h |  12 +++
 include/sysemu/kvm.h                      |   1 +
 kvm-all.c                                 |  33 ++++++
 linux-headers/linux/kvm.h                 |  25 +++++
 target-i386/Makefile.objs                 |   2 +-
 target-i386/cpu-qom.h                     |   1 +
 target-i386/cpu.c                         |   1 +
 target-i386/cpu.h                         |   5 +
 target-i386/hyperv.c                      | 127 +++++++++++++++++++++++
 target-i386/hyperv.h                      |  42 ++++++++
 target-i386/kvm.c                         |  66 +++++++++++-
 target-i386/machine.c                     |  39 +++++++
 16 files changed, 519 insertions(+), 2 deletions(-)
 create mode 100644 hw/misc/hyperv_testdev.c
 create mode 100644 target-i386/hyperv.c
 create mode 100644 target-i386/hyperv.h

Signed-off-by: Andrey Smetanin <asmeta...@virtuozzo.com>
Reviewed-by: Roman Kagan <rka...@virtuozzo.com>
Signed-off-by: Denis V. Lunev <d...@openvz.org>
CC: Vitaly Kuznetsov <vkuzn...@redhat.com>
CC: "K. Y. Srinivasan" <k...@microsoft.com>
CC: Gleb Natapov <g...@kernel.org>
CC: Paolo Bonzini <pbonz...@redhat.com>
CC: Roman Kagan <rka...@virtuozzo.com>
CC: Denis V. Lunev <d...@openvz.org>
CC: k...@vger.kernel.org
CC: virtualizat...@lists.linux-foundation.org

-- 
2.4.3


Reply via email to