Skip to content

Commit

Permalink
elf: Update EM_MOXIE definition
Browse files Browse the repository at this point in the history
EM_MOXIE now has a proper assigned elf code. Use it. Register the old
interim value as EM_MOXIE_OLD and accept either in elf loading.

Cc: Anthony Green <green@moxielogic.com>
Reviewed-by: Richard Henderson <rth@twiddle.net>
Signed-off-by: Peter Crosthwaite <crosthwaite.peter@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
  • Loading branch information
pcrost authored and bonzini committed Sep 25, 2015
1 parent 7cc4722 commit 98dbe5a
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 1 deletion.
1 change: 1 addition & 0 deletions hw/moxie/moxiesim.c
Expand Up @@ -34,6 +34,7 @@
#include "hw/loader.h"
#include "hw/char/serial.h"
#include "exec/address-spaces.h"
#include "elf.h"

#define PHYS_MEM_BASE 0x80000000

Expand Down
3 changes: 3 additions & 0 deletions include/elf.h
Expand Up @@ -135,6 +135,9 @@ typedef int64_t Elf64_Sxword;

#define EM_TILEGX 191 /* TILE-Gx */

#define EM_MOXIE 223 /* Moxie processor family */
#define EM_MOXIE_OLD 0xFEED

/* This is the info that is needed to parse the dynamic section of the file */
#define DT_NULL 0
#define DT_NEEDED 1
Expand Down
8 changes: 8 additions & 0 deletions include/hw/elf_ops.h
Expand Up @@ -305,6 +305,14 @@ static int glue(load_elf, SZ)(const char *name, int fd,
}
}
break;
case EM_MOXIE:
if (ehdr.e_machine != EM_MOXIE) {
if (ehdr.e_machine != EM_MOXIE_OLD) {
ret = ELF_LOAD_WRONG_ARCH;
goto fail;
}
}
break;
default:
if (elf_machine != ehdr.e_machine) {
ret = ELF_LOAD_WRONG_ARCH;
Expand Down
2 changes: 1 addition & 1 deletion target-moxie/cpu.h
Expand Up @@ -26,7 +26,7 @@

#define CPUArchState struct CPUMoxieState

#define ELF_MACHINE 0xFEED /* EM_MOXIE */
#define ELF_MACHINE EM_MOXIE

#define MOXIE_EX_DIV0 0
#define MOXIE_EX_BAD 1
Expand Down

0 comments on commit 98dbe5a

Please sign in to comment.