1 #ifndef _ASM_X86_VGTOD_H 2 #define _ASM_X86_VGTOD_H 3 4 #include <asm/vsyscall.h> 5 #include <linux/clocksource.h> 6 7 struct vsyscall_gtod_data { 8 seqlock_t lock; 9 10 /* open coded 'struct timespec' */ 11 time_t wall_time_sec; 12 u32 wall_time_nsec; 13 14 int sysctl_enabled; 15 struct timezone sys_tz; 16 struct { /* extract of a clocksource struct */ 17 cycle_t (*vread)(void); 18 cycle_t cycle_last; 19 cycle_t mask; 20 u32 mult; 21 u32 shift; 22 } clock; 23 struct timespec wall_to_monotonic; 24 struct timespec wall_time_coarse; 25 }; 26 extern struct vsyscall_gtod_data __vsyscall_gtod_data 27 __section_vsyscall_gtod_data; 28 extern struct vsyscall_gtod_data vsyscall_gtod_data; 29 30 #endif /* _ASM_X86_VGTOD_H */ 31