| #ifndef _ASM_X86_VGTOD_H |
| #define _ASM_X86_VGTOD_H |
| |
| #include <asm/vsyscall.h> |
| #include <linux/clocksource.h> |
| |
| struct vsyscall_gtod_data { |
| seqlock_t lock; |
| |
| /* open coded 'struct timespec' */ |
| time_t wall_time_sec; |
| u32 wall_time_nsec; |
| |
| int sysctl_enabled; |
| struct timezone sys_tz; |
| struct { /* extract of a clocksource struct */ |
| cycle_t (*vread)(void); |
| cycle_t cycle_last; |
| cycle_t mask; |
| u32 mult; |
| u32 shift; |
| } clock; |
| struct timespec wall_to_monotonic; |
| struct timespec wall_time_coarse; |
| }; |
| extern struct vsyscall_gtod_data __vsyscall_gtod_data |
| __section_vsyscall_gtod_data; |
| extern struct vsyscall_gtod_data vsyscall_gtod_data; |
| |
| #endif /* _ASM_X86_VGTOD_H */ |