1a7f71a2cSVincenzo Frascino // SPDX-License-Identifier: GPL-2.0
2a7f71a2cSVincenzo Frascino /*
3a7f71a2cSVincenzo Frascino  * ARM64 compat userspace implementations of gettimeofday() and similar.
4a7f71a2cSVincenzo Frascino  *
5a7f71a2cSVincenzo Frascino  * Copyright (C) 2018 ARM Limited
6a7f71a2cSVincenzo Frascino  *
7a7f71a2cSVincenzo Frascino  */
8a7f71a2cSVincenzo Frascino 
__vdso_clock_gettime(clockid_t clock,struct old_timespec32 * ts)9a7f71a2cSVincenzo Frascino int __vdso_clock_gettime(clockid_t clock,
10a7f71a2cSVincenzo Frascino 			 struct old_timespec32 *ts)
11a7f71a2cSVincenzo Frascino {
12a7f71a2cSVincenzo Frascino 	return __cvdso_clock_gettime32(clock, ts);
13a7f71a2cSVincenzo Frascino }
14a7f71a2cSVincenzo Frascino 
__vdso_clock_gettime64(clockid_t clock,struct __kernel_timespec * ts)15a7f71a2cSVincenzo Frascino int __vdso_clock_gettime64(clockid_t clock,
16a7f71a2cSVincenzo Frascino 			   struct __kernel_timespec *ts)
17a7f71a2cSVincenzo Frascino {
18a7f71a2cSVincenzo Frascino 	return __cvdso_clock_gettime(clock, ts);
19a7f71a2cSVincenzo Frascino }
20a7f71a2cSVincenzo Frascino 
__vdso_gettimeofday(struct __kernel_old_timeval * tv,struct timezone * tz)21a7f71a2cSVincenzo Frascino int __vdso_gettimeofday(struct __kernel_old_timeval *tv,
22a7f71a2cSVincenzo Frascino 			struct timezone *tz)
23a7f71a2cSVincenzo Frascino {
24a7f71a2cSVincenzo Frascino 	return __cvdso_gettimeofday(tv, tz);
25a7f71a2cSVincenzo Frascino }
26a7f71a2cSVincenzo Frascino 
__vdso_clock_getres(clockid_t clock_id,struct old_timespec32 * res)27a7f71a2cSVincenzo Frascino int __vdso_clock_getres(clockid_t clock_id,
28a7f71a2cSVincenzo Frascino 			struct old_timespec32 *res)
29a7f71a2cSVincenzo Frascino {
30a7f71a2cSVincenzo Frascino 	return __cvdso_clock_getres_time32(clock_id, res);
31a7f71a2cSVincenzo Frascino }
32a7f71a2cSVincenzo Frascino 
33a7f71a2cSVincenzo Frascino /* Avoid unresolved references emitted by GCC */
34a7f71a2cSVincenzo Frascino 
__aeabi_unwind_cpp_pr0(void)35a7f71a2cSVincenzo Frascino void __aeabi_unwind_cpp_pr0(void)
36a7f71a2cSVincenzo Frascino {
37a7f71a2cSVincenzo Frascino }
38a7f71a2cSVincenzo Frascino 
__aeabi_unwind_cpp_pr1(void)39a7f71a2cSVincenzo Frascino void __aeabi_unwind_cpp_pr1(void)
40a7f71a2cSVincenzo Frascino {
41a7f71a2cSVincenzo Frascino }
42a7f71a2cSVincenzo Frascino 
__aeabi_unwind_cpp_pr2(void)43a7f71a2cSVincenzo Frascino void __aeabi_unwind_cpp_pr2(void)
44a7f71a2cSVincenzo Frascino {
45a7f71a2cSVincenzo Frascino }
46