target/arm: Trap registers when HCR_EL2.{NV, NV1} == {1, 1}
authorPeter Maydell <peter.maydell@linaro.org>
Tue, 9 Jan 2024 14:43:49 +0000 (14:43 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Tue, 9 Jan 2024 14:43:49 +0000 (14:43 +0000)
commitad4e2d4db13e17726cd68908f5c4043bf82051f8
tree4d0f9d23a01148af38f2582492ee6bfe3b6f724c
parent29eda9cd1987d69b089ed5413c8e39aecd618e17
target/arm: Trap registers when HCR_EL2.{NV, NV1} == {1, 1}

When HCR_EL2.{NV,NV1} is {1,1} we must trap five extra registers to
EL2: VBAR_EL1, ELR_EL1, SPSR_EL1, SCXTNUM_EL1 and TFSR_EL1.
Implement these traps.

This trap does not apply when FEAT_NV2 is implemented and enabled;
include the check that HCR_EL2.NV2 is 0 here, to save us having
to come back and add it later.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Tested-by: Miguel Luis <miguel.luis@oracle.com>
target/arm/helper.c