[PATCH] target/m68k: Inline translator_ld[uw,l,q]() calls

Philippe Mathieu-Daudé posted 1 patch 4 days, 11 hours ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260202214050.98935-1-philmd@linaro.org
Maintainers: Laurent Vivier <laurent@vivier.eu>
target/m68k/translate.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
[PATCH] target/m68k: Inline translator_ld[uw,l,q]() calls
Posted by Philippe Mathieu-Daudé 4 days, 11 hours ago
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


Re: [PATCH] target/m68k: Inline translator_ld[uw,l,q]() calls
Posted by Philippe Mathieu-Daudé 3 days, 17 hours ago
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.

Re: [PATCH] target/m68k: Inline translator_ld[uw,l,q]() calls
Posted by Laurent Vivier 4 days, 1 hour ago
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>
Re: [PATCH] target/m68k: Inline translator_ld[uw,l,q]() calls
Posted by Richard Henderson 4 days, 5 hours ago
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~