hw/intc/arm_gicv3: Report correct PIDR0 values for ID registers
authorPeter Maydell <peter.maydell@linaro.org>
Fri, 8 Apr 2022 14:15:13 +0000 (15:15 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 22 Apr 2022 08:19:24 +0000 (09:19 +0100)
commit50a3a309e12789e28a3c4e260348ed7305c28b99
tree4e16a119a46832bbbdd24f44225a74f4b1255b25
parent671927a1165fa1a1dc6ebb413f58615f62105d6d
hw/intc/arm_gicv3: Report correct PIDR0 values for ID registers

We use the common function gicv3_idreg() to supply the CoreSight ID
register values for the GICv3 for the copies of these ID registers in
the distributor, redistributor and ITS register frames.  This isn't
quite correct, because while most of the register values are the
same, the PIDR0 value should vary to indicate which of these three
frames it is.  (You can see this and also the correct values of these
PIDR0 registers by looking at the GIC-600 or GIC-700 TRMs, for
example.)

Make gicv3_idreg() take an extra argument for the PIDR0 value.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220408141550.1271295-5-peter.maydell@linaro.org
hw/intc/arm_gicv3_dist.c
hw/intc/arm_gicv3_its.c
hw/intc/arm_gicv3_redist.c
hw/intc/gicv3_internal.h