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