aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/include/asm/elf.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/include/asm/elf.h')
-rw-r--r--arch/mips/include/asm/elf.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/arch/mips/include/asm/elf.h b/arch/mips/include/asm/elf.h
index 9343529db7bc..bfa4bbd42c6c 100644
--- a/arch/mips/include/asm/elf.h
+++ b/arch/mips/include/asm/elf.h
@@ -28,6 +28,7 @@
28#define PT_MIPS_REGINFO 0x70000000 28#define PT_MIPS_REGINFO 0x70000000
29#define PT_MIPS_RTPROC 0x70000001 29#define PT_MIPS_RTPROC 0x70000001
30#define PT_MIPS_OPTIONS 0x70000002 30#define PT_MIPS_OPTIONS 0x70000002
31#define PT_MIPS_ABIFLAGS 0x70000003
31 32
32/* Flags in the e_flags field of the header */ 33/* Flags in the e_flags field of the header */
33#define EF_MIPS_NOREORDER 0x00000001 34#define EF_MIPS_NOREORDER 0x00000001
@@ -174,6 +175,30 @@ typedef elf_greg_t elf_gregset_t[ELF_NGREG];
174typedef double elf_fpreg_t; 175typedef double elf_fpreg_t;
175typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; 176typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
176 177
178struct mips_elf_abiflags_v0 {
179 uint16_t version; /* Version of flags structure */
180 uint8_t isa_level; /* The level of the ISA: 1-5, 32, 64 */
181 uint8_t isa_rev; /* The revision of ISA: 0 for MIPS V and below,
182 1-n otherwise */
183 uint8_t gpr_size; /* The size of general purpose registers */
184 uint8_t cpr1_size; /* The size of co-processor 1 registers */
185 uint8_t cpr2_size; /* The size of co-processor 2 registers */
186 uint8_t fp_abi; /* The floating-point ABI */
187 uint32_t isa_ext; /* Mask of processor-specific extensions */
188 uint32_t ases; /* Mask of ASEs used */
189 uint32_t flags1; /* Mask of general flags */
190 uint32_t flags2;
191};
192
193#define MIPS_ABI_FP_ANY 0 /* FP ABI doesn't matter */
194#define MIPS_ABI_FP_DOUBLE 1 /* -mdouble-float */
195#define MIPS_ABI_FP_SINGLE 2 /* -msingle-float */
196#define MIPS_ABI_FP_SOFT 3 /* -msoft-float */
197#define MIPS_ABI_FP_OLD_64 4 /* -mips32r2 -mfp64 */
198#define MIPS_ABI_FP_XX 5 /* -mfpxx */
199#define MIPS_ABI_FP_64 6 /* -mips32r2 -mfp64 */
200#define MIPS_ABI_FP_64A 7 /* -mips32r2 -mfp64 -mno-odd-spreg */
201
177#ifdef CONFIG_32BIT 202#ifdef CONFIG_32BIT
178 203
179/* 204/*