[PATCH 0/2] hw/intc: handle GICD_TYPER2 for KVM GICv3

Peter Maydell posted 2 patches 5 months, 1 week ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20250707161018.585469-1-peter.maydell@linaro.org
Maintainers: Peter Maydell <peter.maydell@linaro.org>
There is a newer version of this series
hw/intc/gicv3_internal.h           |  1 +
include/hw/intc/arm_gicv3_common.h |  6 ++++++
hw/intc/arm_gicv3_common.c         | 24 ++++++++++++++++++++++++
hw/intc/arm_gicv3_dist.c           |  9 +++++++++
hw/intc/arm_gicv3_kvm.c            |  6 ++++++
5 files changed, 46 insertions(+)
[PATCH 0/2] hw/intc: handle GICD_TYPER2 for KVM GICv3
Posted by Peter Maydell 5 months, 1 week ago
The GICD_TYPER2 GICv3 distributor register is one that is added
for GICv4.1; previously this was architected as a RES0 location.
Our TCG GIC doesn't implement GICv4.1, but for KVM the kernel
might support it.

This patchset:
 * makes GICD_TYPER0 reads not trigger a bad-read trace
   event on the TCG GICv3, for the benefit of GICv4.1-aware
   guest code
 * migrates the GICD_TYPER2 register value on a KVM GIC,
   so that a mismatch between source and destination
   can be caught by the destination kernel

Note that I have only very lightly tested this, on a
host which (I believe) doesn't have a GICv4.1.

thanks
-- PMM

Peter Maydell (2):
  hw/intc/arm_gicv3_dist: Implement GICD_TYPER2 as 0
  hw/intc/arm_gicv3_kvm: Migrate GICD_TYPER2

 hw/intc/gicv3_internal.h           |  1 +
 include/hw/intc/arm_gicv3_common.h |  6 ++++++
 hw/intc/arm_gicv3_common.c         | 24 ++++++++++++++++++++++++
 hw/intc/arm_gicv3_dist.c           |  9 +++++++++
 hw/intc/arm_gicv3_kvm.c            |  6 ++++++
 5 files changed, 46 insertions(+)

-- 
2.43.0