124640f23SVincenzo Frascino /* SPDX-License-Identifier: GPL-2.0 */ 224640f23SVincenzo Frascino #ifndef __ASM_VDSO_VSYSCALL_H 324640f23SVincenzo Frascino #define __ASM_VDSO_VSYSCALL_H 424640f23SVincenzo Frascino 524640f23SVincenzo Frascino #ifndef __ASSEMBLY__ 624640f23SVincenzo Frascino 724640f23SVincenzo Frascino #include <linux/timekeeper_internal.h> 824640f23SVincenzo Frascino #include <vdso/datapage.h> 924640f23SVincenzo Frascino 1024640f23SVincenzo Frascino extern struct vdso_data *vdso_data; 1124640f23SVincenzo Frascino 1224640f23SVincenzo Frascino /* 1324640f23SVincenzo Frascino * Update the vDSO data page to keep in sync with kernel timekeeping. 1424640f23SVincenzo Frascino */ 1524640f23SVincenzo Frascino static __always_inline __mips_get_k_vdso_data(void)1624640f23SVincenzo Frascinostruct vdso_data *__mips_get_k_vdso_data(void) 1724640f23SVincenzo Frascino { 1824640f23SVincenzo Frascino return vdso_data; 1924640f23SVincenzo Frascino } 2024640f23SVincenzo Frascino #define __arch_get_k_vdso_data __mips_get_k_vdso_data 2124640f23SVincenzo Frascino 2224640f23SVincenzo Frascino /* The asm-generic header needs to be included after the definitions above */ 2324640f23SVincenzo Frascino #include <asm-generic/vdso/vsyscall.h> 2424640f23SVincenzo Frascino 2524640f23SVincenzo Frascino #endif /* !__ASSEMBLY__ */ 2624640f23SVincenzo Frascino 2724640f23SVincenzo Frascino #endif /* __ASM_VDSO_VSYSCALL_H */ 28