Commit b9789d2993 for qemu.org

commit b9789d2993d10acaecf41bdd3c19e623b5cd6613
Author: Philippe Mathieu-Daudé <philmd@linaro.org>
Date:   Thu Nov 20 21:00:33 2025 +0100

    target/ppc: Inline cpu_ldl_code() call in ppc_ldl_code()

    In preparation of removing the cpu_ldl_code wrapper, inline it.

    Get the runtime endianness with ppc_data_endian_env(), passing it
    to cpu_ldl_code_mmu(). No need to swap versus qemu-system binary
    anymore.

    Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
    Reviewed-by: Anton Johansson <anjo@rev.ng>
    Message-Id: <20260202210106.93257-12-philmd@linaro.org>

diff --git a/target/ppc/tcg-excp_helper.c b/target/ppc/tcg-excp_helper.c
index 3f9eb3d924..5e6c1e326d 100644
--- a/target/ppc/tcg-excp_helper.c
+++ b/target/ppc/tcg-excp_helper.c
@@ -428,22 +428,13 @@ G_NORETURN void powerpc_checkstop(CPUPPCState *env, const char *reason)
     cpu_loop_exit_noexc(cs);
 }

-/* Return true iff byteswap is needed to load instruction */
-static inline bool insn_need_byteswap(CPUArchState *env)
-{
-    /* SYSTEM builds TARGET_BIG_ENDIAN. Need to swap when MSR[LE] is set */
-    return !!(env->msr & ((target_ulong)1 << MSR_LE));
-}
-
 uint32_t ppc_ldl_code(CPUArchState *env, target_ulong addr)
 {
-    uint32_t insn = cpu_ldl_code(env, addr);
-
-    if (insn_need_byteswap(env)) {
-        insn = bswap32(insn);
-    }
+    CPUState *cs = env_cpu(env);
+    MemOp op_end = ppc_data_endian_env(env);
+    MemOpIdx oi = make_memop_idx(MO_UL | op_end, cpu_mmu_index(cs, true));

-    return insn;
+    return cpu_ldl_code_mmu(env, addr, oi, 0);
 }

 #if defined(TARGET_PPC64)