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