aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorPeter Crosthwaite <crosthwaite.peter@gmail.com>2015-08-29 12:07:50 -0700
committerPaolo Bonzini <pbonzini@redhat.com>2015-09-25 12:04:43 +0200
commit98dbe5aca8c328b40a0598d6ab478d9b869d1b5c (patch)
tree485550bc960aa2d754ebac060da4bfc70cdf463f /include
parent7cc472218c807ef85714ec71b161c39ee29d634e (diff)
elf: Update EM_MOXIE definition
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>
Diffstat (limited to 'include')
-rw-r--r--include/elf.h3
-rw-r--r--include/hw/elf_ops.h8
2 files changed, 11 insertions, 0 deletions
diff --git a/include/elf.h b/include/elf.h
index 79859f0cd8..66add810df 100644
--- a/include/elf.h
+++ b/include/elf.h
@@ -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
diff --git a/include/hw/elf_ops.h b/include/hw/elf_ops.h
index 0d41f249a0..0010c441d9 100644
--- a/include/hw/elf_ops.h
+++ b/include/hw/elf_ops.h
@@ -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;