target/arm: Move e2h_access() helper around
e2h_access() was added in commit bb5972e439 ("target/arm: Add VHE timer register redirection and aliasing") close to the generic_timer_cp_reginfo[] array, but isn't used until vhe_reginfo[] definition. Move it closer to the other e2h helpers. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20240118200643.29037-19-philmd@linaro.org Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
d780d056f8
commit
32b3a0c900
@ -3345,20 +3345,6 @@ static const ARMCPRegInfo generic_timer_cp_reginfo[] = {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
static CPAccessResult e2h_access(CPUARMState *env, const ARMCPRegInfo *ri,
|
|
||||||
bool isread)
|
|
||||||
{
|
|
||||||
if (arm_current_el(env) == 1) {
|
|
||||||
/* This must be a FEAT_NV access */
|
|
||||||
/* TODO: FEAT_ECV will need to check CNTHCTL_EL2 here */
|
|
||||||
return CP_ACCESS_OK;
|
|
||||||
}
|
|
||||||
if (!(arm_hcr_el2_eff(env) & HCR_E2H)) {
|
|
||||||
return CP_ACCESS_TRAP;
|
|
||||||
}
|
|
||||||
return CP_ACCESS_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -6546,6 +6532,21 @@ static const ARMCPRegInfo el3_cp_reginfo[] = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
#ifndef CONFIG_USER_ONLY
|
#ifndef CONFIG_USER_ONLY
|
||||||
|
|
||||||
|
static CPAccessResult e2h_access(CPUARMState *env, const ARMCPRegInfo *ri,
|
||||||
|
bool isread)
|
||||||
|
{
|
||||||
|
if (arm_current_el(env) == 1) {
|
||||||
|
/* This must be a FEAT_NV access */
|
||||||
|
/* TODO: FEAT_ECV will need to check CNTHCTL_EL2 here */
|
||||||
|
return CP_ACCESS_OK;
|
||||||
|
}
|
||||||
|
if (!(arm_hcr_el2_eff(env) & HCR_E2H)) {
|
||||||
|
return CP_ACCESS_TRAP;
|
||||||
|
}
|
||||||
|
return CP_ACCESS_OK;
|
||||||
|
}
|
||||||
|
|
||||||
/* Test if system register redirection is to occur in the current state. */
|
/* Test if system register redirection is to occur in the current state. */
|
||||||
static bool redirect_for_e2h(CPUARMState *env)
|
static bool redirect_for_e2h(CPUARMState *env)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user