1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __ASM_VDSO_VSYSCALL_H 3 #define __ASM_VDSO_VSYSCALL_H 4 5 #define __VDSO_RND_DATA_OFFSET 768 6 7 #ifndef __ASSEMBLY__ 8 9 #include <linux/hrtimer.h> 10 #include <linux/timekeeper_internal.h> 11 #include <vdso/datapage.h> 12 #include <asm/vdso.h> 13 14 enum vvar_pages { 15 VVAR_DATA_PAGE_OFFSET, 16 VVAR_TIMENS_PAGE_OFFSET, 17 VVAR_NR_PAGES 18 }; 19 20 /* 21 * Update the vDSO data page to keep in sync with kernel timekeeping. 22 */ 23 24 static __always_inline struct vdso_data *__s390_get_k_vdso_data(void) 25 { 26 return vdso_data; 27 } 28 #define __arch_get_k_vdso_data __s390_get_k_vdso_data 29 30 static __always_inline struct vdso_rng_data *__s390_get_k_vdso_rnd_data(void) 31 { 32 return (void *)vdso_data + __VDSO_RND_DATA_OFFSET; 33 } 34 #define __arch_get_k_vdso_rng_data __s390_get_k_vdso_rnd_data 35 36 /* The asm-generic header needs to be included after the definitions above */ 37 #include <asm-generic/vdso/vsyscall.h> 38 39 #endif /* !__ASSEMBLY__ */ 40 41 #endif /* __ASM_VDSO_VSYSCALL_H */ 42