xref: /openbmc/linux/arch/x86/include/asm/vgtod.h (revision 12eb4683)
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 	seqcount_t	seq;
9 
10 	struct { /* extract of a clocksource struct */
11 		int vclock_mode;
12 		cycle_t	cycle_last;
13 		cycle_t	mask;
14 		u32	mult;
15 		u32	shift;
16 	} clock;
17 
18 	/* open coded 'struct timespec' */
19 	time_t		wall_time_sec;
20 	u64		wall_time_snsec;
21 	u64		monotonic_time_snsec;
22 	time_t		monotonic_time_sec;
23 
24 	struct timezone sys_tz;
25 	struct timespec wall_time_coarse;
26 	struct timespec monotonic_time_coarse;
27 };
28 extern struct vsyscall_gtod_data vsyscall_gtod_data;
29 
30 #endif /* _ASM_X86_VGTOD_H */
31