1/*
2 * vsyscall_emu_64.S: Vsyscall emulation page
3 *
4 * Copyright (c) 2011 Andy Lutomirski
5 *
6 * Subject to the GNU General Public License, version 2
7 */
8
9#include <linux/linkage.h>
10
11#include <asm/irq_vectors.h>
12#include <asm/page_types.h>
13#include <asm/unistd_64.h>
14
15__PAGE_ALIGNED_DATA
16	.globl __vsyscall_page
17	.balign PAGE_SIZE, 0xcc
18	.type __vsyscall_page, @object
19__vsyscall_page:
20
21	mov $__NR_gettimeofday, %rax
22	syscall
23	ret
24
25	.balign 1024, 0xcc
26	mov $__NR_time, %rax
27	syscall
28	ret
29
30	.balign 1024, 0xcc
31	mov $__NR_getcpu, %rax
32	syscall
33	ret
34
35	.balign 4096, 0xcc
36
37	.size __vsyscall_page, 4096
38