On 08/17/2018 09:03 AM, Peter Maydell wrote: > On 9 August 2018 at 05:21, Richard Henderson > <richard.hender...@linaro.org> wrote: >> Saves about 12k code size in qemu-aarch64. >> >> Signed-off-by: Richard Henderson <richard.hender...@linaro.org> >> --- >> target/arm/cpu.h | 4 ++++ >> 1 file changed, 4 insertions(+) >> >> diff --git a/target/arm/cpu.h b/target/arm/cpu.h >> index 2d6d7d03aa..aedaf2631e 100644 >> --- a/target/arm/cpu.h >> +++ b/target/arm/cpu.h >> @@ -1958,6 +1958,9 @@ static inline bool arm_v7m_is_handler_mode(CPUARMState >> *env) >> */ >> static inline int arm_current_el(CPUARMState *env) >> { >> +#ifdef CONFIG_USER_ONLY >> + return 0; >> +#else >> if (arm_feature(env, ARM_FEATURE_M)) { >> return arm_v7m_is_handler_mode(env) || >> !(env->v7m.control[env->v7m.secure] & 1); >> @@ -1984,6 +1987,7 @@ static inline int arm_current_el(CPUARMState *env) >> >> return 1; >> } >> +#endif > > Again, the #ifdeffery here should be unnecessary ? env->pstate, > env->uncached_cpsr, etc should be set so that we return the > right thing.
We get the right result, but you should have a look at how large the expansion of this function is. r~