Hyper-V SynIC (synthetic interrupt controller) support:
* msr's support
* irq routing setup
* irq injection
* irq ack's callbacks
* event/message pages changes tracking at Hyper-V exit
* Hyper-V test device to test SynIC by kvm-unit-tests

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: Paolo Bonzini <pbonz...@redhat.com>
CC: Richard Henderson <r...@twiddle.net>
CC: Eduardo Habkost <ehabk...@redhat.com>
CC: "Andreas Färber" <afaer...@suse.de>
CC: Marcelo Tosatti <mtosa...@redhat.com>
CC: Roman Kagan <rka...@virtuozzo.com>
CC: Denis V. Lunev <d...@openvz.org>
CC: k...@vger.kernel.org

Changes v2:
* linux headers update by scripts moved into separate patche
* activate Hyper-V SynIC by enabling corresponding vcpu cap
* reject cpu initialization if user requested Hyper-V SynIC
  but kernel does not support Hyper-V SynIC

Andrey Smetanin (5):
  headers: Linux kernel Hyper-V SynIC defines
  target-i386/kvm: Hyper-V SynIC MSR's support
  kvm: Hyper-V SynIC irq routing support
  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                         |  73 ++++++++++++-
 target-i386/machine.c                     |  39 +++++++
 16 files changed, 526 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

-- 
2.4.3


Reply via email to