From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52125) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZqeRP-00015A-9I for qemu-devel@nongnu.org; Mon, 26 Oct 2015 05:51:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZqeRL-0003Au-9O for qemu-devel@nongnu.org; Mon, 26 Oct 2015 05:51:47 -0400 Received: from mailhub.sw.ru ([195.214.232.25]:15161 helo=relay.sw.ru) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZqeRK-00039r-Sy for qemu-devel@nongnu.org; Mon, 26 Oct 2015 05:51:43 -0400 From: Andrey Smetanin Date: Mon, 26 Oct 2015 12:50:53 +0300 Message-Id: <1445853060-24201-1-git-send-email-asmetanin@virtuozzo.com> Subject: [Qemu-devel] [PATCH 0/7] Hyper-V Synthetic interrupt controller List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kvm@vger.kernel.org, Gleb Natapov , virtualization@lists.linux-foundation.org, Roman Kagan , Paolo Bonzini , "Denis V. Lunev" , Vitaly Kuznetsov , "K. Y. Srinivasan" 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 Reviewed-by: Roman Kagan Signed-off-by: Denis V. Lunev CC: Vitaly Kuznetsov CC: "K. Y. Srinivasan" CC: Gleb Natapov CC: Paolo Bonzini CC: Roman Kagan CC: Denis V. Lunev CC: kvm@vger.kernel.org CC: virtualization@lists.linux-foundation.org -- 2.4.3