If the caller didn't specify an architecture for the ELF machine the load_elf() function will auto detect it based on the ELF file.
Signed-off-by: Alistair Francis <alistair.fran...@xilinx.com> --- V8: - Move into load_elf64/load_elf32 V7: - Fix typo include/hw/elf_ops.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/include/hw/elf_ops.h b/include/hw/elf_ops.h index f510e7e..db70c11 100644 --- a/include/hw/elf_ops.h +++ b/include/hw/elf_ops.h @@ -280,6 +280,11 @@ static int glue(load_elf, SZ)(const char *name, int fd, glue(bswap_ehdr, SZ)(&ehdr); } + if (elf_machine < 1) { + /* The caller didn't specify an ARCH, we can figure it out */ + elf_machine = ehdr.e_machine; + } + switch (elf_machine) { case EM_PPC64: if (ehdr.e_machine != EM_PPC64) { -- 2.7.4