1#ifndef _ASM_X86_VGTOD_H 2#define _ASM_X86_VGTOD_H 3 4#include <asm/vsyscall.h> 5#include <linux/clocksource.h> 6 7struct 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}; 26extern struct vsyscall_gtod_data __vsyscall_gtod_data 27__section_vsyscall_gtod_data; 28extern struct vsyscall_gtod_data vsyscall_gtod_data; 29 30#endif /* _ASM_X86_VGTOD_H */ 31