]> git.ipfire.org Git - thirdparty/qemu.git/commitdiff
target/arm: Fix S2 disabled check in S1_ptw_translate
authorRichard Henderson <richard.henderson@linaro.org>
Sat, 1 Oct 2022 16:22:39 +0000 (09:22 -0700)
committerPeter Maydell <peter.maydell@linaro.org>
Mon, 10 Oct 2022 13:52:24 +0000 (14:52 +0100)
Pass the correct stage2 mmu_idx to regime_translation_disabled,
which we computed afterward.

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Message-id: 20221001162318.153420-4-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
target/arm/ptw.c

index 96ed8e13afc66e19d794721cd5f8528241ed4b65..631d1e25f15d50640f095c74564cb528e2e327b0 100644 (file)
@@ -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;