extended_addresses_enabled calls arm_el_is_aa64, hardcoding exception
level 1. Instead, retrieve the current el calling arm_current_el.

Signed-off-by: Stefano Stabellini <sstabell...@kernel.org>

diff --git a/target/arm/internals.h b/target/arm/internals.h
index 1f6efef..63507d9 100644
--- a/target/arm/internals.h
+++ b/target/arm/internals.h
@@ -187,7 +187,7 @@ static inline unsigned int arm_pamax(ARMCPU *cpu)
 static inline bool extended_addresses_enabled(CPUARMState *env)
 {
     TCR *tcr = &env->cp15.tcr_el[arm_is_secure(env) ? 3 : 1];
-    return arm_el_is_aa64(env, 1) ||
+    return arm_el_is_aa64(env, arm_current_el(env)) ||
            (arm_feature(env, ARM_FEATURE_LPAE) && (tcr->raw_tcr & TTBCR_EAE));
 }
 

Reply via email to