translator_ldl() is defined in "exec/translator.h" as:
198 static inline uint32_t
199 translator_ldl(CPUArchState *env, DisasContextBase *db, vaddr pc)
200 {
201 return translator_ldl_end(env, db, pc, MO_TE);
202 }
Directly use the inlined form, expanding MO_TE -> MO_BE
since we only build the OpenRISC targets as big-endian.
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
---
target/openrisc/translate.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/target/openrisc/translate.c b/target/openrisc/translate.c
index 6fa4d6cfa70..a6d550bbc2e 100644
--- a/target/openrisc/translate.c
+++ b/target/openrisc/translate.c
@@ -1558,7 +1558,8 @@ static void openrisc_tr_insn_start(DisasContextBase *dcbase, CPUState *cs)
static void openrisc_tr_translate_insn(DisasContextBase *dcbase, CPUState *cs)
{
DisasContext *dc = container_of(dcbase, DisasContext, base);
- uint32_t insn = translator_ldl(cpu_env(cs), &dc->base, dc->base.pc_next);
+ uint32_t insn = translator_ldl_end(cpu_env(cs), &dc->base,
+ dc->base.pc_next, MO_BE);
if (!decode(dc, insn)) {
gen_illegal_exception(dc);
--
2.52.0
On 12/25/25 03:18, Philippe Mathieu-Daudé wrote:
> translator_ldl() is defined in "exec/translator.h" as:
>
> 198 static inline uint32_t
> 199 translator_ldl(CPUArchState *env, DisasContextBase *db, vaddr pc)
> 200 {
> 201 return translator_ldl_end(env, db, pc, MO_TE);
> 202 }
>
> Directly use the inlined form, expanding MO_TE -> MO_BE
> since we only build the OpenRISC targets as big-endian.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
> target/openrisc/translate.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/target/openrisc/translate.c b/target/openrisc/translate.c
> index 6fa4d6cfa70..a6d550bbc2e 100644
> --- a/target/openrisc/translate.c
> +++ b/target/openrisc/translate.c
> @@ -1558,7 +1558,8 @@ static void openrisc_tr_insn_start(DisasContextBase *dcbase, CPUState *cs)
> static void openrisc_tr_translate_insn(DisasContextBase *dcbase, CPUState *cs)
> {
> DisasContext *dc = container_of(dcbase, DisasContext, base);
> - uint32_t insn = translator_ldl(cpu_env(cs), &dc->base, dc->base.pc_next);
> + uint32_t insn = translator_ldl_end(cpu_env(cs), &dc->base,
> + dc->base.pc_next, MO_BE);
>
> if (!decode(dc, insn)) {
> gen_illegal_exception(dc);
Use mo_endian(). With that,
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
On 5/1/26 01:11, Richard Henderson wrote:
> On 12/25/25 03:18, Philippe Mathieu-Daudé wrote:
>> translator_ldl() is defined in "exec/translator.h" as:
>>
>> 198 static inline uint32_t
>> 199 translator_ldl(CPUArchState *env, DisasContextBase *db, vaddr pc)
>> 200 {
>> 201 return translator_ldl_end(env, db, pc, MO_TE);
>> 202 }
>>
>> Directly use the inlined form, expanding MO_TE -> MO_BE
>> since we only build the OpenRISC targets as big-endian.
>>
>> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
>> ---
>> target/openrisc/translate.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/target/openrisc/translate.c b/target/openrisc/translate.c
>> index 6fa4d6cfa70..a6d550bbc2e 100644
>> --- a/target/openrisc/translate.c
>> +++ b/target/openrisc/translate.c
>> @@ -1558,7 +1558,8 @@ static void
>> openrisc_tr_insn_start(DisasContextBase *dcbase, CPUState *cs)
>> static void openrisc_tr_translate_insn(DisasContextBase *dcbase,
>> CPUState *cs)
>> {
>> DisasContext *dc = container_of(dcbase, DisasContext, base);
>> - uint32_t insn = translator_ldl(cpu_env(cs), &dc->base, dc-
>> >base.pc_next);
>> + uint32_t insn = translator_ldl_end(cpu_env(cs), &dc->base,
>> + dc->base.pc_next, MO_BE);
>> if (!decode(dc, insn)) {
>> gen_illegal_exception(dc);
>
> Use mo_endian(). With that,
Oops!
>
> Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Thanks!
On Wed, Dec 24, 2025 at 6:18 PM Philippe Mathieu-Daudé
<philmd@linaro.org> wrote:
>
> translator_ldl() is defined in "exec/translator.h" as:
>
> 198 static inline uint32_t
> 199 translator_ldl(CPUArchState *env, DisasContextBase *db, vaddr pc)
> 200 {
> 201 return translator_ldl_end(env, db, pc, MO_TE);
> 202 }
>
> Directly use the inlined form, expanding MO_TE -> MO_BE
> since we only build the OpenRISC targets as big-endian.
>
> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
> ---
Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
> target/openrisc/translate.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/target/openrisc/translate.c b/target/openrisc/translate.c
> index 6fa4d6cfa70..a6d550bbc2e 100644
> --- a/target/openrisc/translate.c
> +++ b/target/openrisc/translate.c
> @@ -1558,7 +1558,8 @@ static void openrisc_tr_insn_start(DisasContextBase *dcbase, CPUState *cs)
> static void openrisc_tr_translate_insn(DisasContextBase *dcbase, CPUState *cs)
> {
> DisasContext *dc = container_of(dcbase, DisasContext, base);
> - uint32_t insn = translator_ldl(cpu_env(cs), &dc->base, dc->base.pc_next);
> + uint32_t insn = translator_ldl_end(cpu_env(cs), &dc->base,
> + dc->base.pc_next, MO_BE);
>
> if (!decode(dc, insn)) {
> gen_illegal_exception(dc);
> --
> 2.52.0
>
© 2016 - 2026 Red Hat, Inc.