Hi Pavel, On 07/02/2015 04:13 PM, Pavel Fedin wrote: > This is a complete GICv3 implementation, both software emulation and KVM > acceleration are supported. do you plan to resend a version without TCG code, just using shared base class?
Eric > > 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 >
