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