blob: c9596a9af15985c7f668bd18fc3f8547a8bcec31 [file] [log] [blame]
Andy Lutomirski5cec93c2011-06-05 13:50:24 -04001/*
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>
Andy Lutomirski3ae36652011-08-10 11:15:32 -040010
Andy Lutomirski5cec93c2011-06-05 13:50:24 -040011#include <asm/irq_vectors.h>
Andy Lutomirski3ae36652011-08-10 11:15:32 -040012#include <asm/page_types.h>
13#include <asm/unistd_64.h>
Andy Lutomirski5cec93c2011-06-05 13:50:24 -040014
Andy Lutomirski3ae36652011-08-10 11:15:32 -040015__PAGE_ALIGNED_DATA
16 .globl __vsyscall_page
17 .balign PAGE_SIZE, 0xcc
18 .type __vsyscall_page, @object
19__vsyscall_page:
Andy Lutomirski5cec93c2011-06-05 13:50:24 -040020
Andy Lutomirski3ae36652011-08-10 11:15:32 -040021 mov $__NR_gettimeofday, %rax
22 syscall
23 ret
Andy Lutomirski5cec93c2011-06-05 13:50:24 -040024
Andy Lutomirski3ae36652011-08-10 11:15:32 -040025 .balign 1024, 0xcc
26 mov $__NR_time, %rax
27 syscall
28 ret
Andy Lutomirski5cec93c2011-06-05 13:50:24 -040029
Andy Lutomirski3ae36652011-08-10 11:15:32 -040030 .balign 1024, 0xcc
31 mov $__NR_getcpu, %rax
32 syscall
33 ret
34
35 .balign 4096, 0xcc
36
37 .size __vsyscall_page, 4096