diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2012-10-25 16:37:31 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2012-10-25 16:37:31 +0000 |
commit | 573c3911fcc480294700bdd82b8509499babb2d2 (patch) | |
tree | 04f548a6bed515b310ec2bf6ccc1b6569377f427 /nuttx/include | |
parent | 5da217b108089f9ea14ce8ebd1412908bb86f0a0 (diff) | |
download | px4-nuttx-573c3911fcc480294700bdd82b8509499babb2d2.tar.gz px4-nuttx-573c3911fcc480294700bdd82b8509499babb2d2.tar.bz2 px4-nuttx-573c3911fcc480294700bdd82b8509499babb2d2.zip |
Add x86 ELF support
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5258 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/include')
-rw-r--r-- | nuttx/include/elf.h | 24 | ||||
-rw-r--r-- | nuttx/include/nuttx/binfmt/elf.h | 7 |
2 files changed, 27 insertions, 4 deletions
diff --git a/nuttx/include/elf.h b/nuttx/include/elf.h index ec7aecf63..1b36701fd 100644 --- a/nuttx/include/elf.h +++ b/nuttx/include/elf.h @@ -73,10 +73,28 @@ #define EM_386 3 /* Intel 80386 */ #define EM_68K 4 /* Motorola 68000 */ #define EM_88K 5 /* Motorola 88000 */ +#define EM_486 6 /* Intel 486+ */ #define EM_860 7 /* Intel 80860 */ -#define EM_MIPS 8 /* MIPS RS3000 Big-Endian */ -#define EM_MIPS_RS4_BE 10 /* MIPS RS4000 Big-Endian */ - /* 11-16 Reserved for future use */ +#define EM_MIPS 8 /* MIPS R3000 Big-Endian */ +#define EM_MIPS_RS4_BE 10 /* MIPS R4000 Big-Endian */ +#define EM_PARISC 15 /* HPPA */ +#define EM_SPARC32PLUS 18 /* Sun's "v8plus" */ +#define EM_PPC 20 /* PowerPC */ +#define EM_PPC64 21 /* PowerPC64 */ +#define EM_SH 42 /* SuperH */ +#define EM_SPARCV9 43 /* SPARC v9 64-bit */ +#define EM_IA_64 50 /* HP/Intel IA-64 */ +#define EM_X86_64 62 /* AMD x86-64 */ +#define EM_S390 22 /* IBM S/390 */ +#define EM_CRIS 76 /* Axis Communications 32-bit embedded processor */ +#define EM_V850 87 /* NEC v850 */ +#define EM_M32R 88 /* Renesas M32R */ +#define EM_H8_300 46 +#define EM_ALPHA 0x9026 +#define EM_CYGNUS_V850 0x9080 +#define EM_CYGNUS_M32R 0x9041 +#define EM_S390_OLD 0xa390 +#define EM_FRV 0x5441 /* Values for Elf32_Ehdr::e_version */ diff --git a/nuttx/include/nuttx/binfmt/elf.h b/nuttx/include/nuttx/binfmt/elf.h index dc28c5c6a..8a12c5019 100644 --- a/nuttx/include/nuttx/binfmt/elf.h +++ b/nuttx/include/nuttx/binfmt/elf.h @@ -174,7 +174,7 @@ EXTERN int elf_bind(FAR struct elf_loadinfo_s *loadinfo, EXTERN int elf_unload(struct elf_loadinfo_s *loadinfo); /**************************************************************************** - * These are APIs used internally only by NuttX: + * These are APIs used outside of binfmt by NuttX: ****************************************************************************/ /**************************************************************************** * Name: elf_initialize @@ -207,6 +207,9 @@ EXTERN int elf_initialize(void); EXTERN void elf_uninitialize(void); /**************************************************************************** + * These are APIs must be provided by architecture-specific logic: + ****************************************************************************/ +/**************************************************************************** * Name: arch_checkarch * * Description: @@ -262,7 +265,9 @@ EXTERN int arch_relocateadd(FAR const Elf32_Rela *rel, * ****************************************************************************/ +#ifdef CONFIG_ELF_ICACHE EXTERN bool arch_flushicache(FAR void *addr, size_t len); +#endif #undef EXTERN #if defined(__cplusplus) |