target/arm: Split out access_nv1_with_nvx
Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Message-id: 20251008215613.300150-41-richard.henderson@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
3a6a957b89
commit
399d40b985
1 changed files with 6 additions and 5 deletions
|
|
@ -3423,15 +3423,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;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue