GICv4 sets aside 256K per redistributor configuration block, whereas GICv3 only uses 128K. However, some codebases (like TF-A, EDK2) will happily use the GICv3 functionality only.
This set aims at enabling these codebases to run, without actually enabling full support for GICv4. This creates a ... problematic ... system, which will misbehave if you try to use the virtual LPIs. But it does help with letting me use QEMU for modelling a platform containing a GICv4, and share firmware images with other prototyping platforms. Leif Lindholm (4): hw/intc: don't bail out gicv3 model init for revision 4 hw/intc: add helper function to determine gicv3 redistributor size hw/intc: set GICD_TYPER.DVIS for GICv4 hw/intc: make gicv3_idreg() distinguish between gicv3/gicv4 hw/intc/arm_gicv3_common.c | 4 ++-- hw/intc/arm_gicv3_dist.c | 5 ++++- hw/intc/arm_gicv3_redist.c | 15 ++++++++++----- hw/intc/gicv3_internal.h | 12 ++++++++++-- include/hw/intc/arm_gicv3_common.h | 3 +++ 5 files changed, 29 insertions(+), 10 deletions(-) -- 2.20.1