target/arm: Move stage_1_mmu_idx, arm_stage1_mmu_idx to ptw.c
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20220604040607.269301-28-richard.henderson@linaro.org Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
23971205cf
commit
1d26125536
@ -10427,31 +10427,6 @@ uint64_t arm_sctlr(CPUARMState *env, int el)
|
||||
return env->cp15.sctlr_el[el];
|
||||
}
|
||||
|
||||
#ifndef CONFIG_USER_ONLY
|
||||
/* Convert a possible stage1+2 MMU index into the appropriate
|
||||
* stage 1 MMU index
|
||||
*/
|
||||
ARMMMUIdx stage_1_mmu_idx(ARMMMUIdx mmu_idx)
|
||||
{
|
||||
switch (mmu_idx) {
|
||||
case ARMMMUIdx_SE10_0:
|
||||
return ARMMMUIdx_Stage1_SE0;
|
||||
case ARMMMUIdx_SE10_1:
|
||||
return ARMMMUIdx_Stage1_SE1;
|
||||
case ARMMMUIdx_SE10_1_PAN:
|
||||
return ARMMMUIdx_Stage1_SE1_PAN;
|
||||
case ARMMMUIdx_E10_0:
|
||||
return ARMMMUIdx_Stage1_E0;
|
||||
case ARMMMUIdx_E10_1:
|
||||
return ARMMMUIdx_Stage1_E1;
|
||||
case ARMMMUIdx_E10_1_PAN:
|
||||
return ARMMMUIdx_Stage1_E1_PAN;
|
||||
default:
|
||||
return mmu_idx;
|
||||
}
|
||||
}
|
||||
#endif /* !CONFIG_USER_ONLY */
|
||||
|
||||
int aa64_va_parameter_tbi(uint64_t tcr, ARMMMUIdx mmu_idx)
|
||||
{
|
||||
if (regime_has_2_ranges(mmu_idx)) {
|
||||
@ -11081,13 +11056,6 @@ ARMMMUIdx arm_mmu_idx(CPUARMState *env)
|
||||
return arm_mmu_idx_el(env, arm_current_el(env));
|
||||
}
|
||||
|
||||
#ifndef CONFIG_USER_ONLY
|
||||
ARMMMUIdx arm_stage1_mmu_idx(CPUARMState *env)
|
||||
{
|
||||
return stage_1_mmu_idx(arm_mmu_idx(env));
|
||||
}
|
||||
#endif
|
||||
|
||||
static CPUARMTBFlags rebuild_hflags_common(CPUARMState *env, int fp_el,
|
||||
ARMMMUIdx mmu_idx,
|
||||
CPUARMTBFlags flags)
|
||||
|
@ -47,6 +47,34 @@ unsigned int arm_pamax(ARMCPU *cpu)
|
||||
return pamax_map[parange];
|
||||
}
|
||||
|
||||
/*
|
||||
* Convert a possible stage1+2 MMU index into the appropriate stage 1 MMU index
|
||||
*/
|
||||
ARMMMUIdx stage_1_mmu_idx(ARMMMUIdx mmu_idx)
|
||||
{
|
||||
switch (mmu_idx) {
|
||||
case ARMMMUIdx_SE10_0:
|
||||
return ARMMMUIdx_Stage1_SE0;
|
||||
case ARMMMUIdx_SE10_1:
|
||||
return ARMMMUIdx_Stage1_SE1;
|
||||
case ARMMMUIdx_SE10_1_PAN:
|
||||
return ARMMMUIdx_Stage1_SE1_PAN;
|
||||
case ARMMMUIdx_E10_0:
|
||||
return ARMMMUIdx_Stage1_E0;
|
||||
case ARMMMUIdx_E10_1:
|
||||
return ARMMMUIdx_Stage1_E1;
|
||||
case ARMMMUIdx_E10_1_PAN:
|
||||
return ARMMMUIdx_Stage1_E1_PAN;
|
||||
default:
|
||||
return mmu_idx;
|
||||
}
|
||||
}
|
||||
|
||||
ARMMMUIdx arm_stage1_mmu_idx(CPUARMState *env)
|
||||
{
|
||||
return stage_1_mmu_idx(arm_mmu_idx(env));
|
||||
}
|
||||
|
||||
static bool regime_translation_big_endian(CPUARMState *env, ARMMMUIdx mmu_idx)
|
||||
{
|
||||
return (regime_sctlr(env, mmu_idx) & SCTLR_EE) != 0;
|
||||
|
Loading…
Reference in New Issue
Block a user