diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-x86_64/auxvec.h | 2 | ||||
-rw-r--r-- | include/asm-x86_64/elf.h | 13 | ||||
-rw-r--r-- | include/asm-x86_64/mmu.h | 1 | ||||
-rw-r--r-- | include/asm-x86_64/vgtod.h | 29 | ||||
-rw-r--r-- | include/asm-x86_64/vsyscall.h | 3 |
5 files changed, 47 insertions, 1 deletions
diff --git a/include/asm-x86_64/auxvec.h b/include/asm-x86_64/auxvec.h index 2403c4cfced2..1d5ab0d03950 100644 --- a/include/asm-x86_64/auxvec.h +++ b/include/asm-x86_64/auxvec.h | |||
@@ -1,4 +1,6 @@ | |||
1 | #ifndef __ASM_X86_64_AUXVEC_H | 1 | #ifndef __ASM_X86_64_AUXVEC_H |
2 | #define __ASM_X86_64_AUXVEC_H | 2 | #define __ASM_X86_64_AUXVEC_H |
3 | 3 | ||
4 | #define AT_SYSINFO_EHDR 33 | ||
5 | |||
4 | #endif | 6 | #endif |
diff --git a/include/asm-x86_64/elf.h b/include/asm-x86_64/elf.h index 6d24ea7c4d9d..b4fbe47f6ccd 100644 --- a/include/asm-x86_64/elf.h +++ b/include/asm-x86_64/elf.h | |||
@@ -162,6 +162,19 @@ extern int dump_task_fpu (struct task_struct *, elf_fpregset_t *); | |||
162 | /* 1GB for 64bit, 8MB for 32bit */ | 162 | /* 1GB for 64bit, 8MB for 32bit */ |
163 | #define STACK_RND_MASK (test_thread_flag(TIF_IA32) ? 0x7ff : 0x3fffff) | 163 | #define STACK_RND_MASK (test_thread_flag(TIF_IA32) ? 0x7ff : 0x3fffff) |
164 | 164 | ||
165 | |||
166 | #define ARCH_HAS_SETUP_ADDITIONAL_PAGES 1 | ||
167 | struct linux_binprm; | ||
168 | extern int arch_setup_additional_pages(struct linux_binprm *bprm, | ||
169 | int executable_stack); | ||
170 | |||
171 | extern int vdso_enabled; | ||
172 | |||
173 | #define ARCH_DLINFO \ | ||
174 | do if (vdso_enabled) { \ | ||
175 | NEW_AUX_ENT(AT_SYSINFO_EHDR,(unsigned long)current->mm->context.vdso);\ | ||
176 | } while (0) | ||
177 | |||
165 | #endif | 178 | #endif |
166 | 179 | ||
167 | #endif | 180 | #endif |
diff --git a/include/asm-x86_64/mmu.h b/include/asm-x86_64/mmu.h index 5dc6ed79859a..d2cd4a9d984d 100644 --- a/include/asm-x86_64/mmu.h +++ b/include/asm-x86_64/mmu.h | |||
@@ -15,6 +15,7 @@ typedef struct { | |||
15 | rwlock_t ldtlock; | 15 | rwlock_t ldtlock; |
16 | int size; | 16 | int size; |
17 | struct semaphore sem; | 17 | struct semaphore sem; |
18 | void *vdso; | ||
18 | } mm_context_t; | 19 | } mm_context_t; |
19 | 20 | ||
20 | #endif | 21 | #endif |
diff --git a/include/asm-x86_64/vgtod.h b/include/asm-x86_64/vgtod.h new file mode 100644 index 000000000000..3301f0929342 --- /dev/null +++ b/include/asm-x86_64/vgtod.h | |||
@@ -0,0 +1,29 @@ | |||
1 | #ifndef _ASM_VGTOD_H | ||
2 | #define _ASM_VGTOD_H 1 | ||
3 | |||
4 | #include <asm/vsyscall.h> | ||
5 | #include <linux/clocksource.h> | ||
6 | |||
7 | struct vsyscall_gtod_data { | ||
8 | seqlock_t lock; | ||
9 | |||
10 | /* open coded 'struct timespec' */ | ||
11 | time_t wall_time_sec; | ||
12 | u32 wall_time_nsec; | ||
13 | |||
14 | int sysctl_enabled; | ||
15 | struct timezone sys_tz; | ||
16 | struct { /* extract of a clocksource struct */ | ||
17 | cycle_t (*vread)(void); | ||
18 | cycle_t cycle_last; | ||
19 | cycle_t mask; | ||
20 | u32 mult; | ||
21 | u32 shift; | ||
22 | } clock; | ||
23 | struct timespec wall_to_monotonic; | ||
24 | }; | ||
25 | extern struct vsyscall_gtod_data __vsyscall_gtod_data | ||
26 | __section_vsyscall_gtod_data; | ||
27 | extern struct vsyscall_gtod_data vsyscall_gtod_data; | ||
28 | |||
29 | #endif | ||
diff --git a/include/asm-x86_64/vsyscall.h b/include/asm-x86_64/vsyscall.h index 82b4afe65c91..3b8ceb4af2cf 100644 --- a/include/asm-x86_64/vsyscall.h +++ b/include/asm-x86_64/vsyscall.h | |||
@@ -22,6 +22,8 @@ enum vsyscall_num { | |||
22 | /* Definitions for CONFIG_GENERIC_TIME definitions */ | 22 | /* Definitions for CONFIG_GENERIC_TIME definitions */ |
23 | #define __section_vsyscall_gtod_data __attribute__ \ | 23 | #define __section_vsyscall_gtod_data __attribute__ \ |
24 | ((unused, __section__ (".vsyscall_gtod_data"),aligned(16))) | 24 | ((unused, __section__ (".vsyscall_gtod_data"),aligned(16))) |
25 | #define __section_vsyscall_clock __attribute__ \ | ||
26 | ((unused, __section__ (".vsyscall_clock"),aligned(16))) | ||
25 | #define __vsyscall_fn __attribute__ ((unused,__section__(".vsyscall_fn"))) | 27 | #define __vsyscall_fn __attribute__ ((unused,__section__(".vsyscall_fn"))) |
26 | 28 | ||
27 | #define VGETCPU_RDTSCP 1 | 29 | #define VGETCPU_RDTSCP 1 |
@@ -36,7 +38,6 @@ extern volatile unsigned long __jiffies; | |||
36 | /* kernel space (writeable) */ | 38 | /* kernel space (writeable) */ |
37 | extern int vgetcpu_mode; | 39 | extern int vgetcpu_mode; |
38 | extern struct timezone sys_tz; | 40 | extern struct timezone sys_tz; |
39 | extern struct vsyscall_gtod_data_t vsyscall_gtod_data; | ||
40 | 41 | ||
41 | #endif /* __KERNEL__ */ | 42 | #endif /* __KERNEL__ */ |
42 | 43 | ||