X-Git-Url: https://repo.jachan.dev/qemu.git/blobdiff_plain/872a91b49f4d6220fd0ca5f8084b24e621139c7a..c0a93a9efabae3c9a8500bf2f14ffb06e313dc73:/hw/petalogix_s3adsp1800_mmu.c diff --git a/hw/petalogix_s3adsp1800_mmu.c b/hw/petalogix_s3adsp1800_mmu.c index fcbb825d71..4dcdfbd3c1 100644 --- a/hw/petalogix_s3adsp1800_mmu.c +++ b/hw/petalogix_s3adsp1800_mmu.c @@ -34,6 +34,7 @@ #include "xilinx.h" #include "loader.h" #include "elf.h" +#include "blockdev.h" #define LMB_BRAM_SIZE (128 * 1024) #define FLASH_SIZE (16 * 1024 * 1024) @@ -166,16 +167,21 @@ petalogix_s3adsp1800_init(ram_addr_t ram_size, if (kernel_filename) { uint64_t entry, low, high; uint32_t base32; + int big_endian = 0; + +#ifdef TARGET_WORDS_BIGENDIAN + big_endian = 1; +#endif /* Boots a kernel elf binary. */ kernel_size = load_elf(kernel_filename, NULL, NULL, &entry, &low, &high, - 1, ELF_MACHINE, 0); + big_endian, ELF_MACHINE, 0); base32 = entry; if (base32 == 0xc0000000) { kernel_size = load_elf(kernel_filename, translate_kernel_address, NULL, &entry, NULL, NULL, - 1, ELF_MACHINE, 0); + big_endian, ELF_MACHINE, 0); } /* Always boot into physical ram. */ boot_info.bootstrap_pc = ddr_base + (entry & 0x0fffffff); @@ -211,7 +217,7 @@ petalogix_s3adsp1800_init(ram_addr_t ram_size, static QEMUMachine petalogix_s3adsp1800_machine = { .name = "petalogix-s3adsp1800", - .desc = "Petalogix linux refdesign for xilinx Spartan 3ADSP1800", + .desc = "PetaLogix linux refdesign for xilinx Spartan 3ADSP1800", .init = petalogix_s3adsp1800_init, .is_default = 1 };