elf+moxie: EM_MOXIE defintition
cover elf+moxie: EM_MOXIE defintition
Hi Richard,
This adds EM_MOXIE as suggested. Patch one does some surrounding code style cleanup and P2 fixes Moxie.
Regards,
Peter
Peter Crosthwaite (2):
elf_ops: Fix coding style for EM alias case statement
elf: Update EM_MOXIE definition
hw/moxie/moxiesim.c | 1 + include/elf.h | 3 +++ include/hw/elf_ops.h | 23 +++++++++++++++++------ target-moxie/cpu.h | 2 +- 4 files changed, 22 insertions(+), 7 deletions(-)
Signature · 1 line
1.9.1
PATCH 1/2 elf_ops: Fix coding style for EM alias case statement
Fix the coding style for these cases as per CODING_STYLE. Reverse the Yoda conditions and add missing if braces.
--- include/hw/elf_ops.h | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-)
include/hw/elf_ops.h +9 -6
@@ -282,25 +282,28 @@ static int glue(load_elf, SZ)(const char *name, int fd,switch (elf_machine) {case EM_PPC64 : -if (EM_PPC64 != ehdr.e_machine) -if (EM_PPC != ehdr.e_machine) { +if (ehdr.e_machine !=EM_PPC64 ) { +if (ehdr.e_machine !=EM_PPC ) { ret =ELF_LOAD_WRONG_ARCH ; goto fail; } + }break ;case EM_X86_64 : -if (EM_X86_64 != ehdr.e_machine) -if (EM_386 != ehdr.e_machine) { +if (ehdr.e_machine !=EM_X86_64 ) { +if (ehdr.e_machine !=EM_386 ) { ret =ELF_LOAD_WRONG_ARCH ; goto fail; } + }break ;case EM_MICROBLAZE : -if (EM_MICROBLAZE != ehdr.e_machine) -if (EM_MICROBLAZE_OLD != ehdr.e_machine) { +if (ehdr.e_machine !=EM_MICROBLAZE ) { +if (ehdr.e_machine !=EM_MICROBLAZE_OLD ) { ret =ELF_LOAD_WRONG_ARCH ; goto fail; } + }break ;default :if (elf_machine != ehdr.e_machine) {
Signature · 1 line
1.9.1
PATCH 2/2 elf: Update EM_MOXIE definition
In reply to Peter CrosthwaiteEM_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.
--- 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(-)
hw/moxie/moxiesim.c +1 -0
@@ -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
include/elf.h +3 -0
@@ -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
include/hw/elf_ops.h +8 -0
@@ -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 ;
target-moxie/cpu.h +1 -1
@@ -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
Signature · 1 line
1.9.1
Quoted 11 lines · Peter Crosthwaite
Hi Richard,
This adds
EM_MOXIEas suggested. Patch one does some surrounding code style cleanup and P2 fixes Moxie.Regards,
PeterPeter Crosthwaite (2):
elf_ops: Fix coding style for EM alias case statement
elf: UpdateEM_MOXIEdefinition
r~