diff options
author | Chris Metcalf <cmetcalf@tilera.com> | 2013-08-07 15:33:32 -0400 |
---|---|---|
committer | Chris Metcalf <cmetcalf@tilera.com> | 2013-08-13 16:26:21 -0400 |
commit | 4a556f4f56da3110b27e265b79f0e7582115445c (patch) | |
tree | f5af0b865c867160855e4722b49d7e850dddf944 /arch/tile/include/asm/processor.h | |
parent | 0c1d1917c547c8e787fb58e20e2de577453c980c (diff) |
tile: implement gettimeofday() via vDSO
This change creates the framework for vDSO calls, makes the existing
rt_sigreturn() mechanism use it, and adds a fast gettimeofday().
Now that we need to expose the vDSO address to userspace, we add
AT_SYSINFO_EHDR to the set of aux entries provided to userspace.
(You can disable any extra vDSO support by booting with vdso=0,
but the rt_sigreturn vDSO page will still be provided.)
Note that glibc has supported the tile vDSO since release 2.17.
Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
Diffstat (limited to 'arch/tile/include/asm/processor.h')
-rw-r--r-- | arch/tile/include/asm/processor.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/tile/include/asm/processor.h b/arch/tile/include/asm/processor.h index fed1c044fec8..461322b473b5 100644 --- a/arch/tile/include/asm/processor.h +++ b/arch/tile/include/asm/processor.h | |||
@@ -180,10 +180,10 @@ struct thread_struct { | |||
180 | #define TASK_SIZE TASK_SIZE_MAX | 180 | #define TASK_SIZE TASK_SIZE_MAX |
181 | #endif | 181 | #endif |
182 | 182 | ||
183 | /* We provide a minimal "vdso" a la x86; just the sigreturn code for now. */ | 183 | #define VDSO_BASE ((unsigned long)current->active_mm->context.vdso_base) |
184 | #define VDSO_BASE (TASK_SIZE - PAGE_SIZE) | 184 | #define VDSO_SYM(x) (VDSO_BASE + (unsigned long)(x)) |
185 | 185 | ||
186 | #define STACK_TOP VDSO_BASE | 186 | #define STACK_TOP TASK_SIZE |
187 | 187 | ||
188 | /* STACK_TOP_MAX is used temporarily in execve and should not check COMPAT. */ | 188 | /* STACK_TOP_MAX is used temporarily in execve and should not check COMPAT. */ |
189 | #define STACK_TOP_MAX TASK_SIZE_MAX | 189 | #define STACK_TOP_MAX TASK_SIZE_MAX |