blob: 815285bcaceb44b1b6646dc3d1e0760abd445a0e [file] [log] [blame]
H. Peter Anvin1965aae2008-10-22 22:26:29 -07001#ifndef _ASM_X86_VGTOD_H
2#define _ASM_X86_VGTOD_H
Andi Kleen2aae9502007-07-21 17:10:01 +02003
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
Andi Kleen2aae9502007-07-21 17:10:01 +020014 struct timezone sys_tz;
15 struct { /* extract of a clocksource struct */
Andy Lutomirski98d0ac32011-07-14 06:47:22 -040016 int vclock_mode;
Andi Kleen2aae9502007-07-21 17:10:01 +020017 cycle_t cycle_last;
18 cycle_t mask;
19 u32 mult;
20 u32 shift;
21 } clock;
22 struct timespec wall_to_monotonic;
john stultzda15cfd2009-08-19 19:13:34 -070023 struct timespec wall_time_coarse;
Andi Kleen2aae9502007-07-21 17:10:01 +020024};
Andi Kleen2aae9502007-07-21 17:10:01 +020025extern struct vsyscall_gtod_data vsyscall_gtod_data;
26
H. Peter Anvin1965aae2008-10-22 22:26:29 -070027#endif /* _ASM_X86_VGTOD_H */