vsyscall_emu_64.S 597 B

1234567891011121314151617181920212223242526272829303132333435363738
  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. #include <linux/linkage.h>
  9. #include <asm/irq_vectors.h>
  10. #include <asm/page_types.h>
  11. #include <asm/unistd_64.h>
  12. __PAGE_ALIGNED_DATA
  13. .globl __vsyscall_page
  14. .balign PAGE_SIZE, 0xcc
  15. .type __vsyscall_page, @object
  16. __vsyscall_page:
  17. mov $__NR_gettimeofday, %rax
  18. syscall
  19. ret
  20. .balign 1024, 0xcc
  21. mov $__NR_time, %rax
  22. syscall
  23. ret
  24. .balign 1024, 0xcc
  25. mov $__NR_getcpu, %rax
  26. syscall
  27. ret
  28. .balign 4096, 0xcc
  29. .size __vsyscall_page, 4096