3 #include "linux_assym.h" /* system definitions */
4 #include <machine/asmacros.h> /* miscellaneous asm macros */
6 #include <amd64/linux/linux_syscall.h> /* system call numbers */
17 * To avoid excess stack frame the signal trampoline code emulates
18 * the 'call' instruction.
20 NON_GPROF_ENTRY(linux_rt_sigcode)
21 movq %rsp, %rbx /* preserve sigframe */
25 add $.startrtsigcode-.getip, %rax /* ret address */
27 jmp *LINUX_RT_SIGF_HANDLER(%rbx)
29 movq $LINUX_SYS_linux_rt_sigreturn,%rax /* linux_rt_sigreturn() */
30 syscall /* enter kernel with args */
34 NON_GPROF_ENTRY(__vdso_clock_gettime)
35 movq $LINUX_SYS_linux_clock_gettime,%rax
39 .set clock_gettime, __vdso_clock_gettime
41 NON_GPROF_ENTRY(__vdso_time)
42 movq $LINUX_SYS_linux_time,%rax
46 .set time, __vdso_time
48 NON_GPROF_ENTRY(__vdso_gettimeofday)
49 movq $LINUX_SYS_gettimeofday,%rax
53 .set gettimeofday, __vdso_gettimeofday
55 NON_GPROF_ENTRY(__vdso_getcpu)
56 movq $-38,%rax /* not implemented */
59 .set getcpu, __vdso_getcpu
62 .section .note.Linux, "a",@note
63 .long 2f - 1f /* namesz */
65 .long 4f - 3f /* descsz */
72 .long LINUX_VERSION_CODE