target/arm: Allow relevant HCR bits to be written for FEAT_EVT
commitd2fd931362a693d988e3204ddc8068875dcf8fab
authorPeter Maydell <peter.maydell@linaro.org>
Wed, 14 Dec 2022 14:27:08 +0000 (14 14:27 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Thu, 15 Dec 2022 11:18:19 +0000 (15 11:18 +0000)
tree947f56e6d62c096617d01df346ad3113b07736a2
parent58dff8f7ea7aadbfacf4416c4988ad7f0f88a4c8
target/arm: Allow relevant HCR bits to be written for FEAT_EVT

FEAT_EVT adds five new bits to the HCR_EL2 register: TTLBIS, TTLBOS,
TICAB, TOCU and TID4.  These allow the guest to enable trapping of
various EL1 instructions to EL2.  In this commit, add the necessary
code to allow the guest to set these bits if the feature is present;
because the bit is always zero when the feature isn't present we
won't need to use explicit feature checks in the "trap on condition"
tests in the following commits.

Note that although full implementation of the feature (mandatory from
Armv8.5 onward) requires all five trap bits, the ID registers permit
a value indicating that only TICAB, TOCU and TID4 are implemented,
which might be the case for CPUs between Armv8.2 and Armv8.5.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
target/arm/cpu.h
target/arm/helper.c