Skip to content

GIC-500 implementation, software + KVM

Pavel Fedin qemu-devel 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v4 Latest9 patches 18 repliesIn review

Patches in v4 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/9Implement GIC-500 base classhw/intc/Makefile.objs hw/intc/arm_gicv3_common.c hw/intc/gicv3_internal.h +2 more+536 -00 replies
2/9Implement GIC-500hw/intc/Makefile.objs hw/intc/arm_gicv3.c+2087 -04 replies
3/9GICv3 supporttarget-arm/cpu.h target-arm/cpu64.c+117 -00 replies
4/9Add virt-v3 machine that uses GIC-500hw/arm/virt.c include/hw/arm/fdt.h include/hw/arm/virt.h +1 more+126 -2210 replies
5/9Extract some reusable vGIC codehw/intc/arm_gic_kvm.c hw/intc/vgic_common.h+82 -450 replies
6/9Set kernel_irqchip_type for the rest of ARM boards which use GIChw/arm/exynos4_boards.c hw/arm/realview.c hw/arm/vexpress.c+3 -00 replies
7/9Make use of kernel_irqchip_type in kvm_arch_irqchip_create()include/sysemu/kvm.h kvm-all.c stubs/kvm.c +1 more+10 -50 replies
8/9Initial implementation of vGICv3hw/intc/Makefile.objs hw/intc/arm_gicv3_kvm.c+204 -00 replies
9/9Enable KVM acceleration for GICv3hw/arm/virt.c+2 -40 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v4 yet.

Read the v4 thread

Cover letter [Qemu-devel] [PATCH v4 0/9] GIC-500 implementation, software + KVM

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
Signature · 1 line
1.9.5.msysgit.0