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é <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@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 e9a7aaf610d..83cd491eb4a 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 2b190a4b2cf..ca3e9e85fc7 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.51.0