@samitouri / QOSamiQemu / commits / 41c417290d

target/microblaze: Fix endianness used to disassemble

MicroBlaze CPU model has a "little-endian" property, pointing to the @endi internal field. Commit c36ec3a9655 ("hw/microblaze: Explicit CPU endianness") took care of having all MicroBlaze boards with an explicit default endianness (similarly with commit 91fc6d8101d for linux-user binaries), so later commit 415aae543ed ("target/microblaze: Consider endianness while translating code") could infer the endianness at runtime from the @endi field, and not a compile time via the TARGET_BIG_ENDIAN definition. Doing so, we forgot to propagate that runtime change to the disassemble_info structure. Do it now to display the opcodes in correct endianness order. Cc: qemu-stable@nongnu.org Fixes: 415aae543ed ("target/microblaze: Consider endianness while translating code") Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com> Message-Id: <20260423100612.27278-3-philmd@linaro.org>

Philippe Mathieu-Daudé committed Dec 10, 2025 at 18:48 UTC 41c417290df91c31a70adeb8f5271896a8c5f802
1 file changed +2 -2
target/microblaze/cpu.c
+2 -2
@@ -237,8 +237,8 @@ static void mb_disas_set_info(const CPUState *cpu, disassemble_info *info)
237 {
238 info->mach = bfd_arch_microblaze;
239 info->print_insn = print_insn_microblaze;
240 - info->endian = TARGET_BIG_ENDIAN ? BFD_ENDIAN_BIG
241 - : BFD_ENDIAN_LITTLE;
240 + info->endian = MICROBLAZE_CPU(cpu)->cfg.endi ? BFD_ENDIAN_LITTLE
241 + : BFD_ENDIAN_BIG;
242 }
243
244 static void mb_cpu_realizefn(DeviceState *dev, Error **errp)