On 6/4/21 8:52 AM, Alex Bennée wrote: > From: Claudio Fontana<cfontana@suse.de> > > now that is_a64() is just always false when !TARGET_AARCH64, > we can just use that instead of introducing a new ifdef. > > Signed-off-by: Claudio Fontana<cfontana@suse.de> > Signed-off-by: Alex Bennée<alex.bennee@linaro.org> > --- > target/arm/cpu-common.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) Ok, I guess. Acked-by: Richard Henderson <richard.henderson@linaro.org> r~
diff --git a/target/arm/cpu-common.c b/target/arm/cpu-common.c index b7a199a8d6..585223350f 100644 --- a/target/arm/cpu-common.c +++ b/target/arm/cpu-common.c @@ -305,9 +305,13 @@ uint64_t arm_sctlr(CPUARMState *env, int el) { /* Only EL0 needs to be adjusted for EL1&0 or EL2&0. */ if (el == 0) { - ARMMMUIdx mmu_idx = arm_mmu_idx_el(env, 0); - el = (mmu_idx == ARMMMUIdx_E20_0 || mmu_idx == ARMMMUIdx_SE20_0) - ? 2 : 1; + if (is_a64(env)) { + ARMMMUIdx mmu_idx = arm_mmu_idx_el(env, 0); + el = (mmu_idx == ARMMMUIdx_E20_0 || mmu_idx == ARMMMUIdx_SE20_0) + ? 2 : 1; + } else { + el = 1; + } } return env->cp15.sctlr_el[el]; }