Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
target/arm/helper.c | 11 ++++++-----
1 file changed, 6 insertions(+), 5 deletions(-)
diff --git a/target/arm/helper.c b/target/arm/helper.c
index 8b5ae0c543..5519484186 100644
--- a/target/arm/helper.c
+++ b/target/arm/helper.c
@@ -3419,15 +3419,16 @@ static void mdcr_el2_write(CPUARMState *env, const ARMCPRegInfo *ri,
}
}
+static CPAccessResult access_nv1_with_nvx(uint64_t hcr_nv)
+{
+ return hcr_nv == (HCR_NV | HCR_NV1) ? CP_ACCESS_TRAP_EL2 : CP_ACCESS_OK;
+}
+
static CPAccessResult access_nv1(CPUARMState *env, const ARMCPRegInfo *ri,
bool isread)
{
if (arm_current_el(env) == 1) {
- uint64_t hcr_nv = arm_hcr_el2_nvx_eff(env);
-
- if (hcr_nv == (HCR_NV | HCR_NV1)) {
- return CP_ACCESS_TRAP_EL2;
- }
+ return access_nv1_with_nvx(arm_hcr_el2_nvx_eff(env));
}
return CP_ACCESS_OK;
}
--
2.43.0