Message ID | 20220604040607.269301-2-richard.henderson@linaro.org |
---|---|
State | New |
Headers | show |
Series | target/arm: Split out ptw.c from helper.c | expand |
On 4/6/22 06:05, Richard Henderson wrote: > Move the decl from ptw.h to internals.h. Provide an inline > version for user-only, just as we do for arm_stage1_mmu_idx. > Move an endif down to make the definition in helper.c be > system only. > > Signed-off-by: Richard Henderson <richard.henderson@linaro.org> > --- > target/arm/internals.h | 5 +++++ > target/arm/helper.c | 5 ++--- > 2 files changed, 7 insertions(+), 3 deletions(-) > > diff --git a/target/arm/internals.h b/target/arm/internals.h > index b654bee468..72b6af5559 100644 > --- a/target/arm/internals.h > +++ b/target/arm/internals.h > @@ -979,11 +979,16 @@ ARMMMUIdx arm_mmu_idx(CPUARMState *env); > * Return the ARMMMUIdx for the stage1 traversal for the current regime. > */ > #ifdef CONFIG_USER_ONLY > +static inline ARMMMUIdx stage_1_mmu_idx(ARMMMUIdx mmu_idx) > +{ Should we assert(mmu_idx == ARMMMUIdx_Stage1_E0)? > + return ARMMMUIdx_Stage1_E0; > +}
On 6/4/22 03:40, Philippe Mathieu-Daudé wrote: > On 4/6/22 06:05, Richard Henderson wrote: >> Move the decl from ptw.h to internals.h. Provide an inline >> version for user-only, just as we do for arm_stage1_mmu_idx. >> Move an endif down to make the definition in helper.c be >> system only. >> >> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> >> --- >> target/arm/internals.h | 5 +++++ >> target/arm/helper.c | 5 ++--- >> 2 files changed, 7 insertions(+), 3 deletions(-) >> >> diff --git a/target/arm/internals.h b/target/arm/internals.h >> index b654bee468..72b6af5559 100644 >> --- a/target/arm/internals.h >> +++ b/target/arm/internals.h >> @@ -979,11 +979,16 @@ ARMMMUIdx arm_mmu_idx(CPUARMState *env); >> * Return the ARMMMUIdx for the stage1 traversal for the current regime. >> */ >> #ifdef CONFIG_USER_ONLY >> +static inline ARMMMUIdx stage_1_mmu_idx(ARMMMUIdx mmu_idx) >> +{ > > Should we assert(mmu_idx == ARMMMUIdx_Stage1_E0)? You mean ARMMMUIdx_EL10_0, the stage2 idx, but no, I don't think that's useful considering the ifdef. r~
diff --git a/target/arm/internals.h b/target/arm/internals.h index b654bee468..72b6af5559 100644 --- a/target/arm/internals.h +++ b/target/arm/internals.h @@ -979,11 +979,16 @@ ARMMMUIdx arm_mmu_idx(CPUARMState *env); * Return the ARMMMUIdx for the stage1 traversal for the current regime. */ #ifdef CONFIG_USER_ONLY +static inline ARMMMUIdx stage_1_mmu_idx(ARMMMUIdx mmu_idx) +{ + return ARMMMUIdx_Stage1_E0; +} static inline ARMMMUIdx arm_stage1_mmu_idx(CPUARMState *env) { return ARMMMUIdx_Stage1_E0; } #else +ARMMMUIdx stage_1_mmu_idx(ARMMMUIdx mmu_idx); ARMMMUIdx arm_stage1_mmu_idx(CPUARMState *env); #endif diff --git a/target/arm/helper.c b/target/arm/helper.c index 40da63913c..d0460d3a0b 100644 --- a/target/arm/helper.c +++ b/target/arm/helper.c @@ -10481,12 +10481,10 @@ static inline uint64_t regime_ttbr(CPUARMState *env, ARMMMUIdx mmu_idx, } } -#endif /* !CONFIG_USER_ONLY */ - /* Convert a possible stage1+2 MMU index into the appropriate * stage 1 MMU index */ -static inline ARMMMUIdx stage_1_mmu_idx(ARMMMUIdx mmu_idx) +ARMMMUIdx stage_1_mmu_idx(ARMMMUIdx mmu_idx) { switch (mmu_idx) { case ARMMMUIdx_SE10_0: @@ -10505,6 +10503,7 @@ static inline ARMMMUIdx stage_1_mmu_idx(ARMMMUIdx mmu_idx) return mmu_idx; } } +#endif /* !CONFIG_USER_ONLY */ /* Return true if the translation regime is using LPAE format page tables */ static inline bool regime_using_lpae_format(CPUARMState *env,
Move the decl from ptw.h to internals.h. Provide an inline version for user-only, just as we do for arm_stage1_mmu_idx. Move an endif down to make the definition in helper.c be system only. Signed-off-by: Richard Henderson <richard.henderson@linaro.org> --- target/arm/internals.h | 5 +++++ target/arm/helper.c | 5 ++--- 2 files changed, 7 insertions(+), 3 deletions(-)