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