Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
[linux-2.6] / include / asm-x86_64 / vgtod.h
1 #ifndef _ASM_VGTOD_H
2 #define _ASM_VGTOD_H 1
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 };
25 extern struct vsyscall_gtod_data __vsyscall_gtod_data
26 __section_vsyscall_gtod_data;
27 extern struct vsyscall_gtod_data vsyscall_gtod_data;
28
29 #endif