xref: /openbmc/linux/arch/x86/include/asm/vgtod.h (revision 0d7b8547)
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 	seqlock_t	lock;
9 
10 	/* open coded 'struct timespec' */
11 	time_t		wall_time_sec;
12 	u32		wall_time_nsec;
13 
14 	struct timezone sys_tz;
15 	struct { /* extract of a clocksource struct */
16 		cycle_t (*vread)(void);
17 		cycle_t	cycle_last;
18 		cycle_t	mask;
19 		u32	mult;
20 		u32	shift;
21 	} clock;
22 	struct timespec wall_to_monotonic;
23 	struct timespec wall_time_coarse;
24 };
25 extern struct vsyscall_gtod_data vsyscall_gtod_data;
26 
27 #endif /* _ASM_X86_VGTOD_H */
28