[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 0/3] arm_gicv3: Support multiple redistributor regions
From: |
Peter Maydell |
Subject: |
[PATCH 0/3] arm_gicv3: Support multiple redistributor regions |
Date: |
Thu, 30 Sep 2021 16:08:39 +0100 |
Our GICv3 QOM interface includes an array property
redist-region-count which allows board models to specify that the
registributor registers are not in a single contiguous range, but
split into multiple pieces. We implemented this for KVM, but
currently the TCG GICv3 model insists that there is only one region.
You can see the limit being hit with a setup like:
qemu-system-aarch64 -machine virt,gic-version=3 -smp 124
This patchset adds support for multiple regions to the emulated
GICv3, which means that the virt board now supports more than
123 CPUs for TCG as well as for KVM.
Patches 1 and 2 are smaller initial cleanup; patch 3 is the
bulk of the feature work.
(This turned out to be pretty simple; we should probably have
done it before...)
-- PMM
Peter Maydell (3):
hw/intc/arm_gicv3: Move checking of redist-region-count to
arm_gicv3_common_realize
hw/intc/arm_gicv3: Set GICR_TYPER.Last correctly when
nb_redist_regions > 1
hw/intc/arm_gicv3: Support multiple redistributor regions
include/hw/intc/arm_gicv3_common.h | 14 ++++++--
hw/intc/arm_gicv3.c | 12 +------
hw/intc/arm_gicv3_common.c | 56 +++++++++++++++++++-----------
hw/intc/arm_gicv3_kvm.c | 10 ++----
hw/intc/arm_gicv3_redist.c | 40 +++++++++++----------
5 files changed, 73 insertions(+), 59 deletions(-)
--
2.20.1
- [PATCH 0/3] arm_gicv3: Support multiple redistributor regions,
Peter Maydell <=