xref: /linux/include/asm-generic/vdso/vsyscall.h (revision df7fcbefa71090a276fb841ffe19b8e5f12b4767)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __ASM_GENERIC_VSYSCALL_H
3 #define __ASM_GENERIC_VSYSCALL_H
4 
5 #ifndef __ASSEMBLY__
6 
7 #ifdef CONFIG_GENERIC_VDSO_DATA_STORE
8 
9 #ifndef __arch_get_vdso_u_time_data
10 static __always_inline const struct vdso_time_data *__arch_get_vdso_u_time_data(void)
11 {
12 	return vdso_u_time_data;
13 }
14 #endif
15 
16 #else  /* !CONFIG_GENERIC_VDSO_DATA_STORE */
17 
18 #ifndef __arch_get_k_vdso_data
19 static __always_inline struct vdso_data *__arch_get_k_vdso_data(void)
20 {
21 	return NULL;
22 }
23 #endif /* __arch_get_k_vdso_data */
24 #define vdso_k_time_data __arch_get_k_vdso_data()
25 
26 #define __arch_get_vdso_u_time_data __arch_get_vdso_data
27 
28 #endif /* CONFIG_GENERIC_VDSO_DATA_STORE */
29 
30 #ifndef __arch_update_vsyscall
31 static __always_inline void __arch_update_vsyscall(struct vdso_data *vdata)
32 {
33 }
34 #endif /* __arch_update_vsyscall */
35 
36 #ifndef __arch_sync_vdso_data
37 static __always_inline void __arch_sync_vdso_data(struct vdso_data *vdata)
38 {
39 }
40 #endif /* __arch_sync_vdso_data */
41 
42 #endif /* !__ASSEMBLY__ */
43 
44 #endif /* __ASM_GENERIC_VSYSCALL_H */
45