vsyscall.h 779 B

123456789101112131415161718192021222324252627282930313233343536
  1. #ifndef _ASM_X86_VSYSCALL_H
  2. #define _ASM_X86_VSYSCALL_H
  3. enum vsyscall_num {
  4. __NR_vgettimeofday,
  5. __NR_vtime,
  6. __NR_vgetcpu,
  7. };
  8. #define VSYSCALL_START (-10UL << 20)
  9. #define VSYSCALL_SIZE 1024
  10. #define VSYSCALL_END (-2UL << 20)
  11. #define VSYSCALL_MAPPED_PAGES 1
  12. #define VSYSCALL_ADDR(vsyscall_nr) (VSYSCALL_START+VSYSCALL_SIZE*(vsyscall_nr))
  13. #ifdef __KERNEL__
  14. #include <linux/seqlock.h>
  15. /* Definitions for CONFIG_GENERIC_TIME definitions */
  16. #define __vsyscall_fn \
  17. __attribute__ ((unused, __section__(".vsyscall_fn"))) notrace
  18. #define VGETCPU_RDTSCP 1
  19. #define VGETCPU_LSL 2
  20. /* kernel space (writeable) */
  21. extern int vgetcpu_mode;
  22. extern struct timezone sys_tz;
  23. #include <asm/vvar.h>
  24. extern void map_vsyscall(void);
  25. #endif /* __KERNEL__ */
  26. #endif /* _ASM_X86_VSYSCALL_H */