From de1f3d628e6e8f0859bf5202908c4e24d4175941 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Fri, 21 Nov 2025 09:29:14 +0100 Subject: [PATCH] target/rx: Use little-endian variant of cpu_ld/st_data*() MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit We only build the RX target using little endianness order, therefore the cpu_ld/st_data*() definitions expand to the little endian declarations. Use the explicit little-endian variants. Mechanical change running: $ tgt=rx; \ end=le; \ for op in data mmuidx_ra; do \ for ac in uw sw l q; do \ sed -i -e "s/cpu_ld${ac}_${op}/cpu_ld${ac}_${end}_${op}/" \ $(git grep -l cpu_ target/${tgt}/); \ done; for ac in w l q; do \ sed -i -e "s/cpu_st${ac}_${op}/cpu_st${ac}_${end}_${op}/" \ $(git grep -l cpu_ target/${tgt}/); \ done; done Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Richard Henderson Reviewed-by: Manos Pitsidianakis Message-ID: <20251126202200.23100-5-philmd@linaro.org> --- target/rx/helper.c | 14 +++++++------- target/rx/op_helper.c | 6 +++--- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/target/rx/helper.c b/target/rx/helper.c index 9a78f1457f..daaeeec1b5 100644 --- a/target/rx/helper.c +++ b/target/rx/helper.c @@ -68,10 +68,10 @@ void rx_cpu_do_interrupt(CPUState *cs) qemu_log_mask(CPU_LOG_INT, "fast interrupt raised\n"); } else if (cpu_test_interrupt(cs, CPU_INTERRUPT_HARD)) { env->isp -= 4; - cpu_stl_data(env, env->isp, save_psw); + cpu_stl_le_data(env, env->isp, save_psw); env->isp -= 4; - cpu_stl_data(env, env->isp, env->pc); - env->pc = cpu_ldl_data(env, env->intb + env->ack_irq * 4); + cpu_stl_le_data(env, env->isp, env->pc); + env->pc = cpu_ldl_le_data(env, env->intb + env->ack_irq * 4); env->psw_ipl = env->ack_ipl; cpu_reset_interrupt(cs, CPU_INTERRUPT_HARD); qemu_set_irq(env->ack, env->ack_irq); @@ -82,14 +82,14 @@ void rx_cpu_do_interrupt(CPUState *cs) const char *expname = "unknown exception"; env->isp -= 4; - cpu_stl_data(env, env->isp, save_psw); + cpu_stl_le_data(env, env->isp, save_psw); env->isp -= 4; - cpu_stl_data(env, env->isp, env->pc); + cpu_stl_le_data(env, env->isp, env->pc); if (vec < 0x100) { - env->pc = cpu_ldl_data(env, 0xffffff80 + vec * 4); + env->pc = cpu_ldl_le_data(env, 0xffffff80 + vec * 4); } else { - env->pc = cpu_ldl_data(env, env->intb + (vec & 0xff) * 4); + env->pc = cpu_ldl_le_data(env, env->intb + (vec & 0xff) * 4); } if (vec == 30) { diff --git a/target/rx/op_helper.c b/target/rx/op_helper.c index 2b190a4b2c..ca3e9e85fc 100644 --- a/target/rx/op_helper.c +++ b/target/rx/op_helper.c @@ -217,20 +217,20 @@ void helper_scmpu(CPURXState *env) static uint32_t (* const cpu_ldufn[])(CPUArchState *env, abi_ptr ptr, uintptr_t retaddr) = { - cpu_ldub_data_ra, cpu_lduw_data_ra, cpu_ldl_data_ra, + cpu_ldub_data_ra, cpu_lduw_le_data_ra, cpu_ldl_le_data_ra, }; static uint32_t (* const cpu_ldfn[])(CPUArchState *env, abi_ptr ptr, uintptr_t retaddr) = { - cpu_ldub_data_ra, cpu_lduw_data_ra, cpu_ldl_data_ra, + cpu_ldub_data_ra, cpu_lduw_le_data_ra, cpu_ldl_le_data_ra, }; static void (* const cpu_stfn[])(CPUArchState *env, abi_ptr ptr, uint32_t val, uintptr_t retaddr) = { - cpu_stb_data_ra, cpu_stw_data_ra, cpu_stl_data_ra, + cpu_stb_data_ra, cpu_stw_le_data_ra, cpu_stl_le_data_ra, }; void helper_sstr(CPURXState *env, uint32_t sz) -- 2.47.3