diff options
Diffstat (limited to 'arch/mips/include/asm/elf.h')
-rw-r--r-- | arch/mips/include/asm/elf.h | 25 |
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]; | |||
174 | typedef double elf_fpreg_t; | 175 | typedef double elf_fpreg_t; |
175 | typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; | 176 | typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG]; |
176 | 177 | ||
178 | struct 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 | /* |