[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v4 0/9] GIC-500 implementation, software + KVM
From: |
Pavel Fedin |
Subject: |
[Qemu-devel] [PATCH v4 0/9] GIC-500 implementation, software + KVM |
Date: |
Thu, 02 Jul 2015 17:13:58 +0300 |
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
- [Qemu-devel] [PATCH v4 0/9] GIC-500 implementation, software + KVM,
Pavel Fedin <=
- [Qemu-devel] [PATCH v4 6/9] Set kernel_irqchip_type for the rest of ARM boards which use GIC, Pavel Fedin, 2015/07/02
- [Qemu-devel] [PATCH v4 9/9] Enable KVM acceleration for GICv3, Pavel Fedin, 2015/07/02
- [Qemu-devel] [PATCH v4 5/9] Extract some reusable vGIC code, Pavel Fedin, 2015/07/02
- [Qemu-devel] [PATCH v4 8/9] Initial implementation of vGICv3, Pavel Fedin, 2015/07/02
- [Qemu-devel] [PATCH v4 4/9] Add virt-v3 machine that uses GIC-500, Pavel Fedin, 2015/07/02