Home | History | Annotate | Download | only in asm-x86
      1 #ifndef _ASM_X86_64_VSYSCALL_H_
      2 #define _ASM_X86_64_VSYSCALL_H_
      3 
      4 enum vsyscall_num {
      5 	__NR_vgettimeofday,
      6 	__NR_vtime,
      7 	__NR_vgetcpu,
      8 };
      9 
     10 #define VSYSCALL_START (-10UL << 20)
     11 #define VSYSCALL_SIZE 1024
     12 #define VSYSCALL_END (-2UL << 20)
     13 #define VSYSCALL_MAPPED_PAGES 1
     14 #define VSYSCALL_ADDR(vsyscall_nr) (VSYSCALL_START+VSYSCALL_SIZE*(vsyscall_nr))
     15 
     16 #ifdef __KERNEL__
     17 #include <linux/seqlock.h>
     18 
     19 #define __section_vgetcpu_mode __attribute__ ((unused, __section__ (".vgetcpu_mode"), aligned(16)))
     20 #define __section_jiffies __attribute__ ((unused, __section__ (".jiffies"), aligned(16)))
     21 
     22 /* Definitions for CONFIG_GENERIC_TIME definitions */
     23 #define __section_vsyscall_gtod_data __attribute__ \
     24 	((unused, __section__ (".vsyscall_gtod_data"),aligned(16)))
     25 #define __section_vsyscall_clock __attribute__ \
     26 	((unused, __section__ (".vsyscall_clock"),aligned(16)))
     27 #define __vsyscall_fn __attribute__ ((unused,__section__(".vsyscall_fn")))
     28 
     29 #define VGETCPU_RDTSCP	1
     30 #define VGETCPU_LSL	2
     31 
     32 extern int __vgetcpu_mode;
     33 extern volatile unsigned long __jiffies;
     34 
     35 /* kernel space (writeable) */
     36 extern int vgetcpu_mode;
     37 extern struct timezone sys_tz;
     38 
     39 #endif /* __KERNEL__ */
     40 
     41 #endif /* _ASM_X86_64_VSYSCALL_H_ */
     42