GNU Linux-libre 5.4.274-gnu1
[releases.git] / arch / x86 / entry / vsyscall / vsyscall_emu_64.S
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