Loading...
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 int3
24
25 .balign 1024, 0xcc
26 mov $__NR_time, %rax
27 syscall
28 ret
29 int3
30
31 .balign 1024, 0xcc
32 mov $__NR_getcpu, %rax
33 syscall
34 ret
35 int3
36
37 .balign 4096, 0xcc
38
39 .size __vsyscall_page, 4096
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