xref: /openbmc/linux/arch/arm/vdso/vgettimeofday.c (revision a12f8586)
12b72c9e3SThomas Gleixner // SPDX-License-Identifier: GPL-2.0-only
28512287aSNathan Lynch /*
320e2fc42SVincenzo Frascino  * ARM userspace implementations of gettimeofday() and similar.
420e2fc42SVincenzo Frascino  *
58512287aSNathan Lynch  * Copyright 2015 Mentor Graphics Corporation.
68512287aSNathan Lynch  */
78512287aSNathan Lynch #include <linux/time.h>
820e2fc42SVincenzo Frascino #include <linux/types.h>
9*a12f8586SArnd Bergmann #include <asm/vdso.h>
10*a12f8586SArnd Bergmann #include <asm/unwind.h>
118512287aSNathan Lynch 
__vdso_clock_gettime(clockid_t clock,struct old_timespec32 * ts)1220e2fc42SVincenzo Frascino int __vdso_clock_gettime(clockid_t clock,
1320e2fc42SVincenzo Frascino 			 struct old_timespec32 *ts)
148512287aSNathan Lynch {
1520e2fc42SVincenzo Frascino 	return __cvdso_clock_gettime32(clock, ts);
168512287aSNathan Lynch }
178512287aSNathan Lynch 
__vdso_clock_gettime64(clockid_t clock,struct __kernel_timespec * ts)1874d06efbSVincenzo Frascino int __vdso_clock_gettime64(clockid_t clock,
1974d06efbSVincenzo Frascino 			   struct __kernel_timespec *ts)
2074d06efbSVincenzo Frascino {
2174d06efbSVincenzo Frascino 	return __cvdso_clock_gettime(clock, ts);
2274d06efbSVincenzo Frascino }
2374d06efbSVincenzo Frascino 
__vdso_gettimeofday(struct __kernel_old_timeval * tv,struct timezone * tz)2420e2fc42SVincenzo Frascino int __vdso_gettimeofday(struct __kernel_old_timeval *tv,
2520e2fc42SVincenzo Frascino 			struct timezone *tz)
268512287aSNathan Lynch {
2720e2fc42SVincenzo Frascino 	return __cvdso_gettimeofday(tv, tz);
288512287aSNathan Lynch }
298512287aSNathan Lynch 
__vdso_clock_getres(clockid_t clock_id,struct old_timespec32 * res)30052e76a3SVincenzo Frascino int __vdso_clock_getres(clockid_t clock_id,
31052e76a3SVincenzo Frascino 			struct old_timespec32 *res)
32052e76a3SVincenzo Frascino {
33052e76a3SVincenzo Frascino 	return __cvdso_clock_getres_time32(clock_id, res);
34052e76a3SVincenzo Frascino }
35052e76a3SVincenzo Frascino 
368512287aSNathan Lynch /* Avoid unresolved references emitted by GCC */
378512287aSNathan Lynch 
__aeabi_unwind_cpp_pr0(void)388512287aSNathan Lynch void __aeabi_unwind_cpp_pr0(void)
398512287aSNathan Lynch {
408512287aSNathan Lynch }
418512287aSNathan Lynch 
__aeabi_unwind_cpp_pr1(void)428512287aSNathan Lynch void __aeabi_unwind_cpp_pr1(void)
438512287aSNathan Lynch {
448512287aSNathan Lynch }
458512287aSNathan Lynch 
__aeabi_unwind_cpp_pr2(void)468512287aSNathan Lynch void __aeabi_unwind_cpp_pr2(void)
478512287aSNathan Lynch {
488512287aSNathan Lynch }
49