Commit a8f70781d7 for qemu.org
commit a8f70781d760e48e30e0bc9ed05343454563ef69
Author: Philippe Mathieu-Daudé <philmd@linaro.org>
Date: Thu Nov 20 18:47:09 2025 +0100
target/sparc: Inline cpu_ldl_code() call in cpu_do_interrupt()
In preparation of removing the cpu_ldl_code wrapper, inline it.
Since SPARC instructions are always stored in big-endian order,
replace MO_TE -> MO_BE.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-ID: <20251224162642.90857-8-philmd@linaro.org>
diff --git a/target/sparc/int32_helper.c b/target/sparc/int32_helper.c
index b29f693a6b..d6bb3fa1e5 100644
--- a/target/sparc/int32_helper.c
+++ b/target/sparc/int32_helper.c
@@ -149,9 +149,11 @@ void sparc_cpu_do_interrupt(CPUState *cs)
* mimic delayed trap delivery as if by the subsequent insn.
*/
if (!env->fsr_qne) {
+ MemOpIdx oi = make_memop_idx(MO_BEUL, cpu_mmu_index(cs, true));
+
env->fsr_qne = FSR_QNE;
env->fq.s.addr = env->pc;
- env->fq.s.insn = cpu_ldl_code(env, env->pc);
+ env->fq.s.insn = cpu_ldl_code_mmu(env, env->pc, oi, 0);
}
env->pc = env->npc;
env->npc = env->npc + 4;