OSDN Git Service

hw/intc/arm_gicv3: Implement GICv4's new redistributor frame
authorPeter Maydell <peter.maydell@linaro.org>
Fri, 8 Apr 2022 14:15:31 +0000 (15:15 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 22 Apr 2022 13:44:52 +0000 (14:44 +0100)
commitae3b3ba15c73320f75c121b08266a25a9e5d4edb
tree1b247f393eee5c741a56072fae2f6c10196884e5
parentc6dd2f9950cb59f7a02d57dcefef4d982efc6c7e
hw/intc/arm_gicv3: Implement GICv4's new redistributor frame

The GICv4 extends the redistributor register map -- where GICv3
had two 64KB frames per CPU, GICv4 has four frames. Add support
for the extra frame by using a new gicv3_redist_size() function
in the places in the GIC implementation which currently use
a fixed constant size for the redistributor register block.
(Until we implement the extra registers they will RAZ/WI.)

Any board that wants to use a GICv4 will need to also adjust
to handle the different sized redistributor register block;
that will be done separately.

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