target/arm: Move regime_is_user to ptw.c
Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-id: 20220604040607.269301-24-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
4845d3be12
commit
0c23d56fc1
@ -10515,30 +10515,6 @@ ARMMMUIdx stage_1_mmu_idx(ARMMMUIdx mmu_idx)
|
|||||||
}
|
}
|
||||||
#endif /* !CONFIG_USER_ONLY */
|
#endif /* !CONFIG_USER_ONLY */
|
||||||
|
|
||||||
#ifndef CONFIG_USER_ONLY
|
|
||||||
bool regime_is_user(CPUARMState *env, ARMMMUIdx mmu_idx)
|
|
||||||
{
|
|
||||||
switch (mmu_idx) {
|
|
||||||
case ARMMMUIdx_SE10_0:
|
|
||||||
case ARMMMUIdx_E20_0:
|
|
||||||
case ARMMMUIdx_SE20_0:
|
|
||||||
case ARMMMUIdx_Stage1_E0:
|
|
||||||
case ARMMMUIdx_Stage1_SE0:
|
|
||||||
case ARMMMUIdx_MUser:
|
|
||||||
case ARMMMUIdx_MSUser:
|
|
||||||
case ARMMMUIdx_MUserNegPri:
|
|
||||||
case ARMMMUIdx_MSUserNegPri:
|
|
||||||
return true;
|
|
||||||
default:
|
|
||||||
return false;
|
|
||||||
case ARMMMUIdx_E10_0:
|
|
||||||
case ARMMMUIdx_E10_1:
|
|
||||||
case ARMMMUIdx_E10_1_PAN:
|
|
||||||
g_assert_not_reached();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#endif /* !CONFIG_USER_ONLY */
|
|
||||||
|
|
||||||
int aa64_va_parameter_tbi(uint64_t tcr, ARMMMUIdx mmu_idx)
|
int aa64_va_parameter_tbi(uint64_t tcr, ARMMMUIdx mmu_idx)
|
||||||
{
|
{
|
||||||
if (regime_has_2_ranges(mmu_idx)) {
|
if (regime_has_2_ranges(mmu_idx)) {
|
||||||
|
@ -53,6 +53,28 @@ static bool regime_translation_big_endian(CPUARMState *env, ARMMMUIdx mmu_idx)
|
|||||||
return (regime_sctlr(env, mmu_idx) & SCTLR_EE) != 0;
|
return (regime_sctlr(env, mmu_idx) & SCTLR_EE) != 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool regime_is_user(CPUARMState *env, ARMMMUIdx mmu_idx)
|
||||||
|
{
|
||||||
|
switch (mmu_idx) {
|
||||||
|
case ARMMMUIdx_SE10_0:
|
||||||
|
case ARMMMUIdx_E20_0:
|
||||||
|
case ARMMMUIdx_SE20_0:
|
||||||
|
case ARMMMUIdx_Stage1_E0:
|
||||||
|
case ARMMMUIdx_Stage1_SE0:
|
||||||
|
case ARMMMUIdx_MUser:
|
||||||
|
case ARMMMUIdx_MSUser:
|
||||||
|
case ARMMMUIdx_MUserNegPri:
|
||||||
|
case ARMMMUIdx_MSUserNegPri:
|
||||||
|
return true;
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
case ARMMMUIdx_E10_0:
|
||||||
|
case ARMMMUIdx_E10_1:
|
||||||
|
case ARMMMUIdx_E10_1_PAN:
|
||||||
|
g_assert_not_reached();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static bool ptw_attrs_are_device(CPUARMState *env, ARMCacheAttrs cacheattrs)
|
static bool ptw_attrs_are_device(CPUARMState *env, ARMCacheAttrs cacheattrs)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
|
@ -11,7 +11,6 @@
|
|||||||
|
|
||||||
#ifndef CONFIG_USER_ONLY
|
#ifndef CONFIG_USER_ONLY
|
||||||
|
|
||||||
bool regime_is_user(CPUARMState *env, ARMMMUIdx mmu_idx);
|
|
||||||
bool regime_translation_disabled(CPUARMState *env, ARMMMUIdx mmu_idx);
|
bool regime_translation_disabled(CPUARMState *env, ARMMMUIdx mmu_idx);
|
||||||
uint64_t regime_ttbr(CPUARMState *env, ARMMMUIdx mmu_idx, int ttbrn);
|
uint64_t regime_ttbr(CPUARMState *env, ARMMMUIdx mmu_idx, int ttbrn);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user