FROMLIST: [PATCH v5 10/12] arm64: vdso: replace gettimeofday.S with global vgettimeof...
[GitHub/exynos8895/android_kernel_samsung_universal8895.git] / arch / arm64 / include / asm / vdso_datapage.h
1 /*
2 * Copyright (C) 2012 ARM Limited
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16 #ifndef __ASM_VDSO_DATAPAGE_H
17 #define __ASM_VDSO_DATAPAGE_H
18
19 #ifdef __KERNEL__
20
21 #ifndef __ASSEMBLY__
22
23 #ifndef _VDSO_WTM_CLOCK_SEC_T
24 #define _VDSO_WTM_CLOCK_SEC_T
25 typedef __u64 vdso_wtm_clock_nsec_t;
26 #endif
27
28 #ifndef _VDSO_XTIME_CLOCK_SEC_T
29 #define _VDSO_XTIME_CLOCK_SEC_T
30 typedef __u64 vdso_xtime_clock_sec_t;
31 #endif
32
33 #ifndef _VDSO_RAW_TIME_SEC_T
34 #define _VDSO_RAW_TIME_SEC_T
35 typedef __u64 vdso_raw_time_sec_t;
36 #endif
37
38 struct vdso_data {
39 __u64 cs_cycle_last; /* Timebase at clocksource init */
40 vdso_raw_time_sec_t raw_time_sec; /* Raw time */
41 __u64 raw_time_nsec;
42 vdso_xtime_clock_sec_t xtime_clock_sec; /* Kernel time */
43 __u64 xtime_clock_snsec;
44 __u64 xtime_coarse_sec; /* Coarse time */
45 __u64 xtime_coarse_nsec;
46 __u64 wtm_clock_sec; /* Wall to monotonic time */
47 vdso_wtm_clock_nsec_t wtm_clock_nsec;
48 __u32 tb_seq_count; /* Timebase sequence counter */
49 /* cs_* members must be adjacent and in this order (ldp accesses) */
50 __u32 cs_mono_mult; /* NTP-adjusted clocksource multiplier */
51 __u32 cs_shift; /* Clocksource shift (mono = raw) */
52 __u32 cs_raw_mult; /* Raw clocksource multiplier */
53 __u32 tz_minuteswest; /* Whacky timezone stuff */
54 __u32 tz_dsttime;
55 __u32 use_syscall;
56 };
57
58 #endif /* !__ASSEMBLY__ */
59
60 #endif /* __KERNEL__ */
61
62 #endif /* __ASM_VDSO_DATAPAGE_H */