elf-em.h 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
  2. #ifndef _LINUX_ELF_EM_H
  3. #define _LINUX_ELF_EM_H
  4. /* These constants define the various ELF target machines */
  5. #define EM_NONE 0
  6. #define EM_M32 1
  7. #define EM_SPARC 2
  8. #define EM_386 3
  9. #define EM_68K 4
  10. #define EM_88K 5
  11. #define EM_486 6 /* Perhaps disused */
  12. #define EM_860 7
  13. #define EM_MIPS 8 /* MIPS R3000 (officially, big-endian only) */
  14. /* Next two are historical and binaries and
  15. modules of these types will be rejected by
  16. Linux. */
  17. #define EM_MIPS_RS3_LE 10 /* MIPS R3000 little-endian */
  18. #define EM_MIPS_RS4_BE 10 /* MIPS R4000 big-endian */
  19. #define EM_PARISC 15 /* HPPA */
  20. #define EM_SPARC32PLUS 18 /* Sun's "v8plus" */
  21. #define EM_PPC 20 /* PowerPC */
  22. #define EM_PPC64 21 /* PowerPC64 */
  23. #define EM_SPU 23 /* Cell BE SPU */
  24. #define EM_ARM 40 /* ARM 32 bit */
  25. #define EM_SH 42 /* SuperH */
  26. #define EM_SPARCV9 43 /* SPARC v9 64-bit */
  27. #define EM_H8_300 46 /* Renesas H8/300 */
  28. #define EM_IA_64 50 /* HP/Intel IA-64 */
  29. #define EM_X86_64 62 /* AMD x86-64 */
  30. #define EM_S390 22 /* IBM S/390 */
  31. #define EM_CRIS 76 /* Axis Communications 32-bit embedded processor */
  32. #define EM_M32R 88 /* Renesas M32R */
  33. #define EM_MN10300 89 /* Panasonic/MEI MN10300, AM33 */
  34. #define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */
  35. #define EM_BLACKFIN 106 /* ADI Blackfin Processor */
  36. #define EM_ALTERA_NIOS2 113 /* Altera Nios II soft-core processor */
  37. #define EM_TI_C6000 140 /* TI C6X DSPs */
  38. #define EM_AARCH64 183 /* ARM 64 bit */
  39. #define EM_TILEPRO 188 /* Tilera TILEPro */
  40. #define EM_MICROBLAZE 189 /* Xilinx MicroBlaze */
  41. #define EM_TILEGX 191 /* Tilera TILE-Gx */
  42. #define EM_BPF 247 /* Linux BPF - in-kernel virtual machine */
  43. #define EM_FRV 0x5441 /* Fujitsu FR-V */
  44. /*
  45. * This is an interim value that we will use until the committee comes
  46. * up with a final number.
  47. */
  48. #define EM_ALPHA 0x9026
  49. /* Bogus old m32r magic number, used by old tools. */
  50. #define EM_CYGNUS_M32R 0x9041
  51. /* This is the old interim value for S/390 architecture */
  52. #define EM_S390_OLD 0xA390
  53. /* Also Panasonic/MEI MN10300, AM33 */
  54. #define EM_CYGNUS_MN10300 0xbeef
  55. #endif /* _LINUX_ELF_EM_H */