From: Richard Henderson Date: Sat, 1 Oct 2022 16:22:39 +0000 (-0700) Subject: target/arm: Fix S2 disabled check in S1_ptw_translate X-Git-Tag: v7.2.0-rc0~56^2~21 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=bf25b7b079c523c8eeebb35c0f914dd2cf3fba24;p=thirdparty%2Fqemu.git target/arm: Fix S2 disabled check in S1_ptw_translate Pass the correct stage2 mmu_idx to regime_translation_disabled, which we computed afterward. Signed-off-by: Richard Henderson Reviewed-by: Peter Maydell Message-id: 20221001162318.153420-4-richard.henderson@linaro.org Signed-off-by: Peter Maydell --- diff --git a/target/arm/ptw.c b/target/arm/ptw.c index 96ed8e13afc..631d1e25f15 100644 --- a/target/arm/ptw.c +++ b/target/arm/ptw.c @@ -200,10 +200,10 @@ static hwaddr S1_ptw_translate(CPUARMState *env, ARMMMUIdx mmu_idx, hwaddr addr, bool *is_secure, ARMMMUFaultInfo *fi) { + ARMMMUIdx s2_mmu_idx = *is_secure ? ARMMMUIdx_Stage2_S : ARMMMUIdx_Stage2; + if (arm_mmu_idx_is_stage1_of_2(mmu_idx) && - !regime_translation_disabled(env, ARMMMUIdx_Stage2)) { - ARMMMUIdx s2_mmu_idx = *is_secure ? ARMMMUIdx_Stage2_S - : ARMMMUIdx_Stage2; + !regime_translation_disabled(env, s2_mmu_idx)) { GetPhysAddrResult s2 = {}; int ret;