tile: implement gettimeofday() via vDSO
authorChris Metcalf <cmetcalf@tilera.com>
Wed, 7 Aug 2013 19:33:32 +0000 (15:33 -0400)
committerChris Metcalf <cmetcalf@tilera.com>
Tue, 13 Aug 2013 20:26:21 +0000 (16:26 -0400)
commit4a556f4f56da3110b27e265b79f0e7582115445c
treef5af0b865c867160855e4722b49d7e850dddf944
parent0c1d1917c547c8e787fb58e20e2de577453c980c
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>
22 files changed:
arch/tile/Kconfig
arch/tile/include/asm/elf.h
arch/tile/include/asm/mmu.h
arch/tile/include/asm/page.h
arch/tile/include/asm/processor.h
arch/tile/include/asm/sections.h
arch/tile/include/asm/vdso.h [new file with mode: 0644]
arch/tile/include/uapi/asm/auxvec.h
arch/tile/kernel/Makefile
arch/tile/kernel/compat_signal.c
arch/tile/kernel/entry.S
arch/tile/kernel/signal.c
arch/tile/kernel/stack.c
arch/tile/kernel/time.c
arch/tile/kernel/vdso.c [new file with mode: 0644]
arch/tile/kernel/vdso/Makefile [new file with mode: 0644]
arch/tile/kernel/vdso/vdso.S [new file with mode: 0644]
arch/tile/kernel/vdso/vdso.lds.S [new file with mode: 0644]
arch/tile/kernel/vdso/vdso32.S [new file with mode: 0644]
arch/tile/kernel/vdso/vgettimeofday.c [new file with mode: 0644]
arch/tile/kernel/vdso/vrt_sigreturn.S [new file with mode: 0644]
arch/tile/mm/elf.c