162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci#ifndef __ASM_VDSO_H
362306a36Sopenharmony_ci#define __ASM_VDSO_H
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#ifdef __KERNEL__
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci#ifndef __ASSEMBLY__
862306a36Sopenharmony_ci
962306a36Sopenharmony_cistruct mm_struct;
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_ci#ifdef CONFIG_VDSO
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_civoid arm_install_vdso(struct mm_struct *mm, unsigned long addr);
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ciextern unsigned int vdso_total_pages;
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci#else /* CONFIG_VDSO */
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_cistatic inline void arm_install_vdso(struct mm_struct *mm, unsigned long addr)
2062306a36Sopenharmony_ci{
2162306a36Sopenharmony_ci}
2262306a36Sopenharmony_ci
2362306a36Sopenharmony_ci#define vdso_total_pages 0
2462306a36Sopenharmony_ci
2562306a36Sopenharmony_ci#endif /* CONFIG_VDSO */
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ciint __vdso_clock_gettime(clockid_t clock, struct old_timespec32 *ts);
2862306a36Sopenharmony_ciint __vdso_clock_gettime64(clockid_t clock, struct __kernel_timespec *ts);
2962306a36Sopenharmony_ciint __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz);
3062306a36Sopenharmony_ciint __vdso_clock_getres(clockid_t clock_id, struct old_timespec32 *res);
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_ci#endif /* __ASSEMBLY__ */
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci#endif /* __KERNEL__ */
3562306a36Sopenharmony_ci
3662306a36Sopenharmony_ci#endif /* __ASM_VDSO_H */
37