powerpc/vdso: Provide __kernel_clock_gettime64() on vdso32

Provides __kernel_clock_gettime64() on vdso32. This is the
64 bits version of __kernel_clock_gettime() which is
y2038 compliant.

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20201126131006.2431205-9-mpe@ellerman.id.au
This commit is contained in:
Christophe Leroy 2020-11-27 00:10:06 +11:00 committed by Michael Ellerman
parent ab037dd87a
commit d0e3fc69d0
4 changed files with 18 additions and 0 deletions

View File

@ -187,6 +187,8 @@ int __c_kernel_clock_getres(clockid_t clock_id, struct __kernel_timespec *res,
#else #else
int __c_kernel_clock_gettime(clockid_t clock, struct old_timespec32 *ts, int __c_kernel_clock_gettime(clockid_t clock, struct old_timespec32 *ts,
const struct vdso_data *vd); const struct vdso_data *vd);
int __c_kernel_clock_gettime64(clockid_t clock, struct __kernel_timespec *ts,
const struct vdso_data *vd);
int __c_kernel_clock_getres(clockid_t clock_id, struct old_timespec32 *res, int __c_kernel_clock_getres(clockid_t clock_id, struct old_timespec32 *res,
const struct vdso_data *vd); const struct vdso_data *vd);
#endif #endif

View File

@ -35,6 +35,15 @@ V_FUNCTION_BEGIN(__kernel_clock_gettime)
cvdso_call __c_kernel_clock_gettime cvdso_call __c_kernel_clock_gettime
V_FUNCTION_END(__kernel_clock_gettime) V_FUNCTION_END(__kernel_clock_gettime)
/*
* Exact prototype of clock_gettime64()
*
* int __kernel_clock_gettime64(clockid_t clock_id, struct __timespec64 *ts);
*
*/
V_FUNCTION_BEGIN(__kernel_clock_gettime64)
cvdso_call __c_kernel_clock_gettime64
V_FUNCTION_END(__kernel_clock_gettime64)
/* /*
* Exact prototype of clock_getres() * Exact prototype of clock_getres()

View File

@ -147,6 +147,7 @@ VERSION
__kernel_get_syscall_map; __kernel_get_syscall_map;
__kernel_gettimeofday; __kernel_gettimeofday;
__kernel_clock_gettime; __kernel_clock_gettime;
__kernel_clock_gettime64;
__kernel_clock_getres; __kernel_clock_getres;
__kernel_time; __kernel_time;
__kernel_get_tbfreq; __kernel_get_tbfreq;

View File

@ -10,6 +10,12 @@ int __c_kernel_clock_gettime(clockid_t clock, struct old_timespec32 *ts,
return __cvdso_clock_gettime32_data(vd, clock, ts); return __cvdso_clock_gettime32_data(vd, clock, ts);
} }
int __c_kernel_clock_gettime64(clockid_t clock, struct __kernel_timespec *ts,
const struct vdso_data *vd)
{
return __cvdso_clock_gettime_data(vd, clock, ts);
}
int __c_kernel_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz, int __c_kernel_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz,
const struct vdso_data *vd) const struct vdso_data *vd)
{ {