[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v1 04/21] elf: Update EM_MOXIE definition
From: |
Peter Crosthwaite |
Subject: |
[Qemu-devel] [PULL v1 04/21] elf: Update EM_MOXIE definition |
Date: |
Thu, 10 Sep 2015 22:44:26 -0700 |
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 <address@hidden>
Reviewed-by: Richard Henderson <address@hidden>
Signed-off-by: Peter Crosthwaite <address@hidden>
---
hw/moxie/moxiesim.c | 1 +
include/elf.h | 3 +++
include/hw/elf_ops.h | 8 ++++++++
target-moxie/cpu.h | 2 +-
4 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/hw/moxie/moxiesim.c b/hw/moxie/moxiesim.c
index 80bcc5b..537e25e 100644
--- a/hw/moxie/moxiesim.c
+++ b/hw/moxie/moxiesim.c
@@ -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
diff --git a/include/elf.h b/include/elf.h
index 4afd474..295a6ea 100644
--- a/include/elf.h
+++ b/include/elf.h
@@ -133,6 +133,9 @@ typedef int64_t Elf64_Sxword;
#define EM_AARCH64 183
+#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 0d41f24..0010c44 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;
diff --git a/target-moxie/cpu.h b/target-moxie/cpu.h
index 29572aa..7bb1ed9 100644
--- a/target-moxie/cpu.h
+++ b/target-moxie/cpu.h
@@ -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
--
1.9.1
- [Qemu-devel] [PULL v1 00/21] Multi-arch queue, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [PULL v1 01/21] linux_user: elfload: Default ELF_MACHINE to ELF_ARCH, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [PULL v1 03/21] elf_ops: Fix coding style for EM alias case statement, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [PULL v1 02/21] linux-user: elfload: Provide default for elf_check_arch, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [PULL v1 05/21] arm: Remove ELF_MACHINE from cpu.h, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [PULL v1 04/21] elf: Update EM_MOXIE definition,
Peter Crosthwaite <=
- [Qemu-devel] [PULL v1 06/21] mb: Remove ELF_MACHINE from cpu.h, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [PULL v1 07/21] m68k: Remove ELF_MACHINE from cpu.h, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [PULL v1 08/21] cris: Remove ELF_MACHINE from cpu.h, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [PULL v1 09/21] moxie: Remove ELF_MACHINE from cpu.h, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [PULL v1 10/21] unicore: Remove ELF_MACHINE from cpu.h, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [PULL v1 12/21] or32: Remove ELF_MACHINE from cpu.h, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [PULL v1 13/21] tricore: Remove ELF_MACHINE from cpu.h, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [PULL v1 15/21] sh4: Remove ELF_MACHINE from cpu.h, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [PULL v1 16/21] s390: Remove ELF_MACHINE from cpu.h, Peter Crosthwaite, 2015/09/11
- [Qemu-devel] [PULL v1 14/21] xtensa: Remove ELF_MACHINE from cpu.h, Peter Crosthwaite, 2015/09/11