From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:36658) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZAfFp-0003k7-Lm for qemu-devel@nongnu.org; Thu, 02 Jul 2015 10:14:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZAfFk-0003OS-EM for qemu-devel@nongnu.org; Thu, 02 Jul 2015 10:14:17 -0400 Received: from mailout1.w1.samsung.com ([210.118.77.11]:32914) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZAfFk-0003MH-8i for qemu-devel@nongnu.org; Thu, 02 Jul 2015 10:14:12 -0400 Received: from eucpsbgm2.samsung.com (unknown [203.254.199.245]) by mailout1.w1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0NQV00HAD67KC7B0@mailout1.w1.samsung.com> for qemu-devel@nongnu.org; Thu, 02 Jul 2015 15:14:08 +0100 (BST) From: Pavel Fedin Date: Thu, 02 Jul 2015 17:13:58 +0300 Message-id: Subject: [Qemu-devel] [PATCH v4 0/9] GIC-500 implementation, software + KVM List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Peter Maydell , Shlomo Pongratz , Shlomo Pongratz , Christoffer Dall , Eric Auger This is a complete GICv3 implementation, both software emulation and KVM acceleration are supported. This series is a consolidated and updated patch set, based on: - GIC-500 implementation: http://lists.nongnu.org/archive/html/qemu-devel/2015-06/msg01512.html - vGICv3 implementation: https://lists.gnu.org/archive/html/qemu-devel/2015-05/msg04496.html I decided to repost because qemu development has progressed and it became difficult to apply those series to current master. Changes from previous versions: - Removed RFC prefix - Base class separated from the rest, as was requested in RFC v2 review - Fixed small number of broken comments / code formatting issues, according to the same review - Removed #if 0 in virt.c - vGICv3 patch set restructured and more clearly separated into portions, according to old Eric's review - Removed duplication of low-level vGICv3 code. Common helper routines are used instead. - Put informative commit messages Pavel Fedin (6): Add virt-v3 machine that uses GIC-500 Extract some reusable vGIC code Set kernel_irqchip_type for the rest of ARM boards which use GIC Make use of kernel_irqchip_type in kvm_arch_irqchip_create() Initial implementation of vGICv3 Enable KVM acceleration for GICv3 Shlomo Pongratz (3): Implement GIC-500 base class Implement GIC-500 GICv3 support hw/arm/exynos4_boards.c | 1 + hw/arm/realview.c | 1 + hw/arm/vexpress.c | 1 + hw/arm/virt.c | 141 ++- hw/intc/Makefile.objs | 3 + hw/intc/arm_gic_kvm.c | 84 +- hw/intc/arm_gicv3.c | 2086 ++++++++++++++++++++++++++++++++++++ hw/intc/arm_gicv3_common.c | 216 ++++ hw/intc/arm_gicv3_kvm.c | 203 ++++ hw/intc/gicv3_internal.h | 159 +++ hw/intc/vgic_common.h | 43 + include/hw/arm/fdt.h | 2 +- include/hw/arm/virt.h | 6 +- include/hw/boards.h | 1 + include/hw/intc/arm_gicv3.h | 44 + include/hw/intc/arm_gicv3_common.h | 116 ++ include/sysemu/kvm.h | 3 +- kvm-all.c | 2 +- stubs/kvm.c | 2 +- target-arm/cpu.h | 12 + target-arm/cpu64.c | 105 ++ target-arm/kvm.c | 8 +- 22 files changed, 3164 insertions(+), 75 deletions(-) create mode 100644 hw/intc/arm_gicv3.c create mode 100644 hw/intc/arm_gicv3_common.c create mode 100644 hw/intc/arm_gicv3_kvm.c create mode 100644 hw/intc/gicv3_internal.h create mode 100644 hw/intc/vgic_common.h create mode 100644 include/hw/intc/arm_gicv3.h create mode 100644 include/hw/intc/arm_gicv3_common.h -- 1.9.5.msysgit.0