In preparation of removing the translator_ld[uw,l,q]() methods,
inline them for the m68k target, expanding MO_TE -> MO_BE since
this architecture is only available in big endianness.
Mechanical change using the following Coccinelle 'spatch' script:
@@
expression env, db, pc, do_swap;
@@
(
- translator_lduw(env, db, pc)
+ translator_lduw_end(env, db, pc, MO_BE)
|
- translator_ldl(env, db, pc)
+ translator_ldl_end(env, db, pc, MO_BE)
|
- translator_ldq(env, db, pc)
+ translator_ldq_end(env, db, pc, MO_BE)
)
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
target/m68k/translate.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/target/m68k/translate.c b/target/m68k/translate.c
index 721668634d9..a0309939012 100644
--- a/target/m68k/translate.c
+++ b/target/m68k/translate.c
@@ -347,7 +347,7 @@ static TCGv gen_ldst(DisasContext *s, int opsize, TCGv addr, TCGv val,
static inline uint16_t read_im16(CPUM68KState *env, DisasContext *s)
{
uint16_t im;
- im = translator_lduw(env, &s->base, s->pc);
+ im = translator_lduw_end(env, &s->base, s->pc, MO_BE);
s->pc += 2;
return im;
}
@@ -1412,12 +1412,12 @@ static bool semihosting_test(DisasContext *s)
if (s->pc % 4 != 0) {
return false;
}
- test = translator_lduw(s->env, &s->base, s->pc - 4);
+ test = translator_lduw_end(s->env, &s->base, s->pc - 4, MO_BE);
if (test != 0x4e71) {
return false;
}
/* "... and followed by an invalid sentinel instruction movec %sp,0." */
- test = translator_ldl(s->env, &s->base, s->pc);
+ test = translator_ldl_end(s->env, &s->base, s->pc, MO_BE);
if (test != 0x4e7bf000) {
return false;
}
--
2.52.0
On 2/2/26 22:40, Philippe Mathieu-Daudé wrote: > In preparation of removing the translator_ld[uw,l,q]() methods, > inline them for the m68k target, expanding MO_TE -> MO_BE since > this architecture is only available in big endianness. > > Mechanical change using the following Coccinelle 'spatch' script: > > @@ > expression env, db, pc, do_swap; > @@ > ( > - translator_lduw(env, db, pc) > + translator_lduw_end(env, db, pc, MO_BE) > | > - translator_ldl(env, db, pc) > + translator_ldl_end(env, db, pc, MO_BE) > | > - translator_ldq(env, db, pc) > + translator_ldq_end(env, db, pc, MO_BE) > ) > > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> > --- > target/m68k/translate.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) Patch queued, thanks.
Le 02/02/2026 à 22:40, Philippe Mathieu-Daudé a écrit :
> In preparation of removing the translator_ld[uw,l,q]() methods,
> inline them for the m68k target, expanding MO_TE -> MO_BE since
> this architecture is only available in big endianness.
>
> Mechanical change using the following Coccinelle 'spatch' script:
>
> @@
> expression env, db, pc, do_swap;
> @@
> (
> - translator_lduw(env, db, pc)
> + translator_lduw_end(env, db, pc, MO_BE)
> |
> - translator_ldl(env, db, pc)
> + translator_ldl_end(env, db, pc, MO_BE)
> |
> - translator_ldq(env, db, pc)
> + translator_ldq_end(env, db, pc, MO_BE)
> )
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> target/m68k/translate.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/target/m68k/translate.c b/target/m68k/translate.c
> index 721668634d9..a0309939012 100644
> --- a/target/m68k/translate.c
> +++ b/target/m68k/translate.c
> @@ -347,7 +347,7 @@ static TCGv gen_ldst(DisasContext *s, int opsize, TCGv addr, TCGv val,
> static inline uint16_t read_im16(CPUM68KState *env, DisasContext *s)
> {
> uint16_t im;
> - im = translator_lduw(env, &s->base, s->pc);
> + im = translator_lduw_end(env, &s->base, s->pc, MO_BE);
> s->pc += 2;
> return im;
> }
> @@ -1412,12 +1412,12 @@ static bool semihosting_test(DisasContext *s)
> if (s->pc % 4 != 0) {
> return false;
> }
> - test = translator_lduw(s->env, &s->base, s->pc - 4);
> + test = translator_lduw_end(s->env, &s->base, s->pc - 4, MO_BE);
> if (test != 0x4e71) {
> return false;
> }
> /* "... and followed by an invalid sentinel instruction movec %sp,0." */
> - test = translator_ldl(s->env, &s->base, s->pc);
> + test = translator_ldl_end(s->env, &s->base, s->pc, MO_BE);
> if (test != 0x4e7bf000) {
> return false;
> }
Reviewed-by: Laurent Vivier <laurent@vivier.eu>
On 2/3/26 07:40, Philippe Mathieu-Daudé wrote: > In preparation of removing the translator_ld[uw,l,q]() methods, > inline them for the m68k target, expanding MO_TE -> MO_BE since > this architecture is only available in big endianness. > > Mechanical change using the following Coccinelle 'spatch' script: > > @@ > expression env, db, pc, do_swap; > @@ > ( > - translator_lduw(env, db, pc) > + translator_lduw_end(env, db, pc, MO_BE) > | > - translator_ldl(env, db, pc) > + translator_ldl_end(env, db, pc, MO_BE) > | > - translator_ldq(env, db, pc) > + translator_ldq_end(env, db, pc, MO_BE) > ) > > Signed-off-by: Philippe Mathieu-Daudé<philmd@linaro.org> > --- > target/m68k/translate.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
© 2016 - 2026 Red Hat, Inc.