For legacy binaries, legacy_binary_is_big_endian() is equivalent of the compile time TARGET_BIG_ENDIAN definition.
Signed-off-by: Philippe Mathieu-Daudé <phi...@linaro.org> --- hw/mips/jazz.c | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/hw/mips/jazz.c b/hw/mips/jazz.c index 1700c3765de..b6f7565f6c5 100644 --- a/hw/mips/jazz.c +++ b/hw/mips/jazz.c @@ -24,6 +24,7 @@ #include "qemu/osdep.h" #include "qemu/datadir.h" +#include "qemu/legacy_binary_info.h" #include "hw/clock.h" #include "hw/mips/mips.h" #include "hw/intc/i8259.h" @@ -59,12 +60,6 @@ enum jazz_model_e { JAZZ_PICA61, }; -#if TARGET_BIG_ENDIAN -#define BIOS_FILENAME "mips_bios.bin" -#else -#define BIOS_FILENAME "mipsel_bios.bin" -#endif - static void main_cpu_reset(void *opaque) { MIPSCPU *cpu = opaque; @@ -120,7 +115,8 @@ static const MemoryRegionOps dma_dummy_ops = { }; static void mips_jazz_init_net(IOMMUMemoryRegion *rc4030_dma_mr, - DeviceState *rc4030, MemoryRegion *dp8393x_prom) + DeviceState *rc4030, MemoryRegion *dp8393x_prom, + bool is_big_endian) { DeviceState *dev; SysBusDevice *sysbus; @@ -136,7 +132,7 @@ static void mips_jazz_init_net(IOMMUMemoryRegion *rc4030_dma_mr, dev = qdev_new("dp8393x"); qdev_set_nic_properties(dev, nd); qdev_prop_set_uint8(dev, "it_shift", 2); - qdev_prop_set_bit(dev, "big_endian", TARGET_BIG_ENDIAN); + qdev_prop_set_bit(dev, "big_endian", is_big_endian); object_property_set_link(OBJECT(dev), "dma_mr", OBJECT(rc4030_dma_mr), &error_abort); sysbus = SYS_BUS_DEVICE(dev); @@ -194,6 +190,9 @@ static void mips_jazz_init(MachineState *machine, MemoryRegion *bios2 = g_new(MemoryRegion, 1); SysBusESPState *sysbus_esp; ESPState *esp; + bool is_big_endian = legacy_binary_is_big_endian(); + const char *default_bios_filename = is_big_endian ? "mips_bios.bin" + : "mipsel_bios.bin"; static const struct { unsigned freq_hz; unsigned pll_mult; @@ -212,8 +211,7 @@ static void mips_jazz_init(MachineState *machine, * ext_clk[jazz_model].pll_mult); /* init CPUs */ - cpu = mips_cpu_create_with_clock(machine->cpu_type, cpuclk, - TARGET_BIG_ENDIAN); + cpu = mips_cpu_create_with_clock(machine->cpu_type, cpuclk, is_big_endian); env = &cpu->env; qemu_register_reset(main_cpu_reset, cpu); @@ -245,7 +243,8 @@ static void mips_jazz_init(MachineState *machine, memory_region_add_subregion(address_space, 0xfff00000LL, bios2); /* load the BIOS image. */ - filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, machine->firmware ?: BIOS_FILENAME); + filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, machine->firmware + ?: default_bios_filename); if (filename) { bios_size = load_image_targphys(filename, 0xfff00000LL, MAGNUM_BIOS_SIZE); @@ -329,7 +328,7 @@ static void mips_jazz_init(MachineState *machine, } /* Network controller */ - mips_jazz_init_net(rc4030_dma_mr, rc4030, dp8393x_prom); + mips_jazz_init_net(rc4030_dma_mr, rc4030, dp8393x_prom, is_big_endian); /* SCSI adapter */ dev = qdev_new(TYPE_SYSBUS_ESP); -- 2.47.1