123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- // SPDX-License-Identifier: GPL-2.0-or-later
- /*
- * MIPS64 and compat userspace implementations of gettimeofday()
- * and similar.
- *
- * Copyright (C) 2015 Imagination Technologies
- * Copyright (C) 2018 ARM Limited
- *
- */
- #include <linux/time.h>
- #include <linux/types.h>
- #if _MIPS_SIM != _MIPS_SIM_ABI64
- int __vdso_clock_gettime(clockid_t clock,
- struct old_timespec32 *ts)
- {
- return __cvdso_clock_gettime32(clock, ts);
- }
- #ifdef CONFIG_MIPS_CLOCK_VSYSCALL
- /*
- * This is behind the ifdef so that we don't provide the symbol when there's no
- * possibility of there being a usable clocksource, because there's nothing we
- * can do without it. When libc fails the symbol lookup it should fall back on
- * the standard syscall path.
- */
- int __vdso_gettimeofday(struct __kernel_old_timeval *tv,
- struct timezone *tz)
- {
- return __cvdso_gettimeofday(tv, tz);
- }
- #endif /* CONFIG_MIPS_CLOCK_VSYSCALL */
- int __vdso_clock_getres(clockid_t clock_id,
- struct old_timespec32 *res)
- {
- return __cvdso_clock_getres_time32(clock_id, res);
- }
- int __vdso_clock_gettime64(clockid_t clock,
- struct __kernel_timespec *ts)
- {
- return __cvdso_clock_gettime(clock, ts);
- }
- #else
- int __vdso_clock_gettime(clockid_t clock,
- struct __kernel_timespec *ts)
- {
- return __cvdso_clock_gettime(clock, ts);
- }
- #ifdef CONFIG_MIPS_CLOCK_VSYSCALL
- /*
- * This is behind the ifdef so that we don't provide the symbol when there's no
- * possibility of there being a usable clocksource, because there's nothing we
- * can do without it. When libc fails the symbol lookup it should fall back on
- * the standard syscall path.
- */
- int __vdso_gettimeofday(struct __kernel_old_timeval *tv,
- struct timezone *tz)
- {
- return __cvdso_gettimeofday(tv, tz);
- }
- #endif /* CONFIG_MIPS_CLOCK_VSYSCALL */
- int __vdso_clock_getres(clockid_t clock_id,
- struct __kernel_timespec *res)
- {
- return __cvdso_clock_getres(clock_id, res);
- }
- #endif
|