Commit d0e3fc69 authored by Christophe Leroy's avatar Christophe Leroy Committed by Michael Ellerman
Browse files

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: default avatarChristophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20201126131006.2431205-9-mpe@ellerman.id.au
parent ab037dd8
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -187,6 +187,8 @@ int __c_kernel_clock_getres(clockid_t clock_id, struct __kernel_timespec *res,
#else
int __c_kernel_clock_gettime(clockid_t clock, struct old_timespec32 *ts,
			     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,
			    const struct vdso_data *vd);
#endif
+9 −0
Original line number Diff line number Diff line
@@ -35,6 +35,15 @@ V_FUNCTION_BEGIN(__kernel_clock_gettime)
	cvdso_call __c_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()
+1 −0
Original line number Diff line number Diff line
@@ -147,6 +147,7 @@ VERSION
		__kernel_get_syscall_map;
		__kernel_gettimeofday;
		__kernel_clock_gettime;
		__kernel_clock_gettime64;
		__kernel_clock_getres;
		__kernel_time;
		__kernel_get_tbfreq;
+6 −0
Original line number Diff line number Diff line
@@ -10,6 +10,12 @@ int __c_kernel_clock_gettime(clockid_t clock, struct old_timespec32 *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,
			    const struct vdso_data *vd)
{