hvf: arm: Add support for GICv3
commita2260983c65539010310b7105da284026cfceba4
authorAlexander Graf <agraf@csgraf.de>
Sat, 28 Jan 2023 22:44:59 +0000 (28 23:44 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 3 Feb 2023 12:59:22 +0000 (3 12:59 +0000)
tree8bd2778b649c42ba2ba51b0a0307afb2ed2215a4
parent23dcbfc080eb8a8e8395d753f07adbb0ab761143
hvf: arm: Add support for GICv3

We currently only support GICv2 emulation. To also support GICv3, we will
need to pass a few system registers into their respective handler functions.

This patch adds support for HVF to call into the TCG callbacks for GICv3
system register handlers. This is safe because the GICv3 TCG code is generic
as long as we limit ourselves to EL0 and EL1 - which are the only modes
supported by HVF.

To make sure nobody trips over that, we also annotate callbacks that don't
work in HVF mode, such as EL state change hooks.

With GICv3 support in place, we can run with more than 8 vCPUs.

Signed-off-by: Alexander Graf <agraf@csgraf.de>
Message-id: 20230128224459.70676-1-agraf@csgraf.de
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/intc/arm_gicv3_cpuif.c
target/arm/hvf/hvf.c
target/arm/hvf/trace-events