Message ID | 20250127115426.51355-8-philmd@linaro.org |
---|---|
State | New |
Headers | show |
Series | disas: Have CPUClass::disas_set_info() callback set the endianness | expand |
On 27/01/2025 12.54, Philippe Mathieu-Daudé wrote: > Have the CPUClass::disas_set_info() callback set the > disassemble_info::endian field. > > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> > --- > target/riscv/cpu.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c > index 3d4bd157d2c..b39a701d751 100644 > --- a/target/riscv/cpu.c > +++ b/target/riscv/cpu.c > @@ -1156,6 +1156,15 @@ static void riscv_cpu_disas_set_info(CPUState *s, disassemble_info *info) > CPURISCVState *env = &cpu->env; > info->target_info = &cpu->cfg; > > + /* > + * A couple of bits in MSTATUS set the endianness: > + * - MSTATUS_UBE (User-mode), > + * - MSTATUS_SBE (Supervisor-mode), > + * - MSTATUS_MBE (Machine-mode) > + * but we don't implement that yet. > + */ > + info->endian = BFD_ENDIAN_LITTLE; > + > switch (env->xl) { > case MXL_RV32: > info->print_insn = print_insn_riscv32; Reviewed-by: Thomas Huth <thuth@redhat.com>
diff --git a/target/riscv/cpu.c b/target/riscv/cpu.c index 3d4bd157d2c..b39a701d751 100644 --- a/target/riscv/cpu.c +++ b/target/riscv/cpu.c @@ -1156,6 +1156,15 @@ static void riscv_cpu_disas_set_info(CPUState *s, disassemble_info *info) CPURISCVState *env = &cpu->env; info->target_info = &cpu->cfg; + /* + * A couple of bits in MSTATUS set the endianness: + * - MSTATUS_UBE (User-mode), + * - MSTATUS_SBE (Supervisor-mode), + * - MSTATUS_MBE (Machine-mode) + * but we don't implement that yet. + */ + info->endian = BFD_ENDIAN_LITTLE; + switch (env->xl) { case MXL_RV32: info->print_insn = print_insn_riscv32;
Have the CPUClass::disas_set_info() callback set the disassemble_info::endian field. Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- target/riscv/cpu.c | 9 +++++++++ 1 file changed, 9 insertions(+)