|
@@ -114,8 +114,8 @@ static uint64_t translate_kernel_address(void *opaque, uint64_t addr)
|
|
|
return addr - 0x30000000LL;
|
|
|
}
|
|
|
|
|
|
-void microblaze_load_kernel(MicroBlazeCPU *cpu, hwaddr ddr_base,
|
|
|
- uint32_t ramsize,
|
|
|
+void microblaze_load_kernel(MicroBlazeCPU *cpu, bool is_little_endian,
|
|
|
+ hwaddr ddr_base, uint32_t ramsize,
|
|
|
const char *initrd_filename,
|
|
|
const char *dtb_filename,
|
|
|
void (*machine_cpu_reset)(MicroBlazeCPU *))
|
|
@@ -144,13 +144,13 @@ void microblaze_load_kernel(MicroBlazeCPU *cpu, hwaddr ddr_base,
|
|
|
/* Boots a kernel elf binary. */
|
|
|
kernel_size = load_elf(kernel_filename, NULL, NULL, NULL,
|
|
|
&entry, NULL, &high, NULL,
|
|
|
- TARGET_BIG_ENDIAN, EM_MICROBLAZE, 0, 0);
|
|
|
+ !is_little_endian, EM_MICROBLAZE, 0, 0);
|
|
|
base32 = entry;
|
|
|
if (base32 == 0xc0000000) {
|
|
|
kernel_size = load_elf(kernel_filename, NULL,
|
|
|
translate_kernel_address, NULL,
|
|
|
&entry, NULL, NULL, NULL,
|
|
|
- TARGET_BIG_ENDIAN, EM_MICROBLAZE, 0, 0);
|
|
|
+ !is_little_endian, EM_MICROBLAZE, 0, 0);
|
|
|
}
|
|
|
/* Always boot into physical ram. */
|
|
|
boot_info.bootstrap_pc = (uint32_t)entry;
|