diff options
| author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-10-25 12:36:02 -0400 |
|---|---|---|
| committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2012-10-25 12:36:02 -0400 |
| commit | 456ba5a7802e58eccb5aa9751b3ab515ef99b9ca (patch) | |
| tree | 4ca4dd3726b34dead51af13b67475af7bf857893 /include/uapi/linux/elf-fdpic.h | |
| parent | 05304949332c6d2c7b50f2d0f666a52369f09ced (diff) | |
| parent | 79748cdb39dbf914bc5f26c75cfd5f91d84d82c9 (diff) | |
Merge remote-tracking branches 'asoc/fix/ux500' and 'asoc/fix/wm8994' into for-3.7
Diffstat (limited to 'include/uapi/linux/elf-fdpic.h')
| -rw-r--r-- | include/uapi/linux/elf-fdpic.h | 42 |
1 files changed, 3 insertions, 39 deletions
diff --git a/include/uapi/linux/elf-fdpic.h b/include/uapi/linux/elf-fdpic.h index 1065078938f9..3921e33aec8e 100644 --- a/include/uapi/linux/elf-fdpic.h +++ b/include/uapi/linux/elf-fdpic.h | |||
| @@ -9,8 +9,8 @@ | |||
| 9 | * 2 of the License, or (at your option) any later version. | 9 | * 2 of the License, or (at your option) any later version. |
| 10 | */ | 10 | */ |
| 11 | 11 | ||
| 12 | #ifndef _LINUX_ELF_FDPIC_H | 12 | #ifndef _UAPI_LINUX_ELF_FDPIC_H |
| 13 | #define _LINUX_ELF_FDPIC_H | 13 | #define _UAPI_LINUX_ELF_FDPIC_H |
| 14 | 14 | ||
| 15 | #include <linux/elf.h> | 15 | #include <linux/elf.h> |
| 16 | 16 | ||
| @@ -31,40 +31,4 @@ struct elf32_fdpic_loadmap { | |||
| 31 | 31 | ||
| 32 | #define ELF32_FDPIC_LOADMAP_VERSION 0x0000 | 32 | #define ELF32_FDPIC_LOADMAP_VERSION 0x0000 |
| 33 | 33 | ||
| 34 | #ifndef __KERNEL__ | 34 | #endif /* _UAPI_LINUX_ELF_FDPIC_H */ |
| 35 | /* | ||
| 36 | * binfmt binary parameters structure | ||
| 37 | */ | ||
| 38 | struct elf_fdpic_params { | ||
| 39 | struct elfhdr hdr; /* ref copy of ELF header */ | ||
| 40 | struct elf_phdr *phdrs; /* ref copy of PT_PHDR table */ | ||
| 41 | struct elf32_fdpic_loadmap *loadmap; /* loadmap to be passed to userspace */ | ||
| 42 | unsigned long elfhdr_addr; /* mapped ELF header user address */ | ||
| 43 | unsigned long ph_addr; /* mapped PT_PHDR user address */ | ||
| 44 | unsigned long map_addr; /* mapped loadmap user address */ | ||
| 45 | unsigned long entry_addr; /* mapped entry user address */ | ||
| 46 | unsigned long stack_size; /* stack size requested (PT_GNU_STACK) */ | ||
| 47 | unsigned long dynamic_addr; /* mapped PT_DYNAMIC user address */ | ||
| 48 | unsigned long load_addr; /* user address at which to map binary */ | ||
| 49 | unsigned long flags; | ||
| 50 | #define ELF_FDPIC_FLAG_ARRANGEMENT 0x0000000f /* PT_LOAD arrangement flags */ | ||
| 51 | #define ELF_FDPIC_FLAG_INDEPENDENT 0x00000000 /* PT_LOADs can be put anywhere */ | ||
| 52 | #define ELF_FDPIC_FLAG_HONOURVADDR 0x00000001 /* PT_LOAD.vaddr must be honoured */ | ||
| 53 | #define ELF_FDPIC_FLAG_CONSTDISP 0x00000002 /* PT_LOADs require constant | ||
| 54 | * displacement */ | ||
| 55 | #define ELF_FDPIC_FLAG_CONTIGUOUS 0x00000003 /* PT_LOADs should be contiguous */ | ||
| 56 | #define ELF_FDPIC_FLAG_EXEC_STACK 0x00000010 /* T if stack to be executable */ | ||
| 57 | #define ELF_FDPIC_FLAG_NOEXEC_STACK 0x00000020 /* T if stack not to be executable */ | ||
| 58 | #define ELF_FDPIC_FLAG_EXECUTABLE 0x00000040 /* T if this object is the executable */ | ||
| 59 | #define ELF_FDPIC_FLAG_PRESENT 0x80000000 /* T if this object is present */ | ||
| 60 | }; | ||
| 61 | |||
| 62 | #ifdef CONFIG_MMU | ||
| 63 | extern void elf_fdpic_arch_lay_out_mm(struct elf_fdpic_params *exec_params, | ||
| 64 | struct elf_fdpic_params *interp_params, | ||
| 65 | unsigned long *start_stack, | ||
| 66 | unsigned long *start_brk); | ||
| 67 | #endif | ||
| 68 | #endif /* __KERNEL__ */ | ||
| 69 | |||
| 70 | #endif /* _LINUX_ELF_FDPIC_H */ | ||
