From: Peter Crosthwaite <crosthwaitepe...@gmail.com> Linux kernel booting is not yet defined for multi-arch and Microblaze's DTB loader sometimes gets in the way of elfs. Just disable it for multi-arch.
Signed-off-by: Peter Crosthwaite <crosthwaite.pe...@gmail.com> --- hw/microblaze/boot.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hw/microblaze/boot.c b/hw/microblaze/boot.c index dc6fa59..4cb3997 100644 --- a/hw/microblaze/boot.c +++ b/hw/microblaze/boot.c @@ -61,6 +61,7 @@ static void main_cpu_reset(void *opaque) } } +#ifndef TARGET_MULTI static int microblaze_load_dtb(hwaddr addr, uint32_t ramsize, uint32_t initrd_start, @@ -98,6 +99,7 @@ static int microblaze_load_dtb(hwaddr addr, cpu_physical_memory_write(addr, fdt, fdt_size); return fdt_size; } +#endif static uint64_t translate_kernel_address(void *opaque, uint64_t addr) { @@ -204,12 +206,14 @@ void microblaze_load_kernel(MicroBlazeCPU *cpu, hwaddr ddr_base, } /* Provide a device-tree. */ boot_info.fdt = boot_info.cmdline + 4096; +#ifndef TARGET_MULTI microblaze_load_dtb(boot_info.fdt, ram_size, boot_info.initrd_start, boot_info.initrd_end, kernel_cmdline, /* Preference a -dtb argument */ dtb_arg ? dtb_arg : filename); +#endif } g_free(filename); } -- 1.9.1