mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-10 15:19:51 +00:00
af9abd6598
clock_getres in the vDSO library has to preserve the same behaviour of posix_get_hrtimer_res(). In particular, posix_get_hrtimer_res() does: sec = 0; ns = hrtimer_resolution; and hrtimer_resolution depends on the enablement of the high resolution timers that can happen either at compile or at run time. Fix the nds32 vdso implementation of clock_getres keeping a copy of hrtimer_resolution in vdso data and using that directly. Cc: Greentime Hu <green.hu@gmail.com> Cc: Vincent Chen <deanbo422@gmail.com> Signed-off-by: Vincenzo Frascino <vincenzo.frascino@arm.com> Signed-off-by: Greentime Hu <greentime@andestech.com>
38 lines
1.1 KiB
C
38 lines
1.1 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
// Copyright (C) 2012 ARM Limited
|
|
// Copyright (C) 2005-2017 Andes Technology Corporation
|
|
#ifndef __ASM_VDSO_DATAPAGE_H
|
|
#define __ASM_VDSO_DATAPAGE_H
|
|
|
|
#ifdef __KERNEL__
|
|
|
|
#ifndef __ASSEMBLY__
|
|
|
|
struct vdso_data {
|
|
bool cycle_count_down; /* timer cyclye counter is decrease with time */
|
|
u32 cycle_count_offset; /* offset of timer cycle counter register */
|
|
u32 seq_count; /* sequence count - odd during updates */
|
|
u32 xtime_coarse_sec; /* coarse time */
|
|
u32 xtime_coarse_nsec;
|
|
|
|
u32 wtm_clock_sec; /* wall to monotonic offset */
|
|
u32 wtm_clock_nsec;
|
|
u32 xtime_clock_sec; /* CLOCK_REALTIME - seconds */
|
|
u32 cs_mult; /* clocksource multiplier */
|
|
u32 cs_shift; /* Cycle to nanosecond divisor (power of two) */
|
|
u32 hrtimer_res; /* hrtimer resolution */
|
|
|
|
u64 cs_cycle_last; /* last cycle value */
|
|
u64 cs_mask; /* clocksource mask */
|
|
|
|
u64 xtime_clock_nsec; /* CLOCK_REALTIME sub-ns base */
|
|
u32 tz_minuteswest; /* timezone info for gettimeofday(2) */
|
|
u32 tz_dsttime;
|
|
};
|
|
|
|
#endif /* !__ASSEMBLY__ */
|
|
|
|
#endif /* __KERNEL__ */
|
|
|
|
#endif /* __ASM_VDSO_DATAPAGE_H */
|