On 12/18/23 22:32, Peter Maydell wrote:
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.mayd...@linaro.org>
---
I have mostly implemented FEAT_NV2 after FEAT_NV, but in
this particular case it seemed cleaner to include the NV2
bit check from the start.
---
  target/arm/helper.c | 44 ++++++++++++++++++++++++++++++++++++++++----
  1 file changed, 40 insertions(+), 4 deletions(-)

Reviewed-by: Richard Henderson <richard.hender...@linaro.org>


@@ -7807,6 +7820,16 @@ static CPAccessResult access_mte(CPUARMState *env, const 
ARMCPRegInfo *ri,
      }
      return CP_ACCESS_OK;
  }
+static CPAccessResult access_tfsr_el1(CPUARMState *env, const ARMCPRegInfo *ri,

Spacing.


r~

Reply via email to