1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __ASM_VDSO_VSYSCALL_H 3 #define __ASM_VDSO_VSYSCALL_H 4 5 #ifndef __ASSEMBLY__ 6 7 #include <linux/timekeeper_internal.h> 8 #include <vdso/datapage.h> 9 #include <asm/vgtod.h> 10 #include <asm/vvar.h> 11 12 DEFINE_VVAR(struct vdso_data, _vdso_data); 13 DEFINE_VVAR_SINGLE(struct vdso_rng_data, _vdso_rng_data); 14 15 /* 16 * Update the vDSO data page to keep in sync with kernel timekeeping. 17 */ 18 static __always_inline 19 struct vdso_data *__x86_get_k_vdso_data(void) 20 { 21 return _vdso_data; 22 } 23 #define __arch_get_k_vdso_data __x86_get_k_vdso_data 24 25 /* The asm-generic header needs to be included after the definitions above */ 26 #include <asm-generic/vdso/vsyscall.h> 27 28 #endif /* !__ASSEMBLY__ */ 29 30 #endif /* __ASM_VDSO_VSYSCALL_H */ 31