12 #ifndef _SYS_TIMETC_H_ 13 #define _SYS_TIMETC_H_ 17 #error "no user-serviceable parts inside" 33 struct vdso_timehands;
34 struct vdso_timehands32;
36 typedef u_int timecounter_get_t(
struct timecounter *);
38 typedef uint32_t timecounter_get_t(
struct timecounter *);
40 typedef void timecounter_pps_t(
struct timecounter *);
41 typedef uint32_t timecounter_fill_vdso_timehands_t(
struct vdso_timehands *,
43 typedef uint32_t timecounter_fill_vdso_timehands32_t(
struct vdso_timehands32 *,
47 timecounter_get_t *tc_get_timecount;
54 timecounter_pps_t *tc_poll_pps;
62 uint32_t tc_counter_mask;
64 uint64_t tc_frequency;
76 #define TC_FLAGS_C2STOP 1 77 #define TC_FLAGS_SUSPEND_SAFE 2 86 timecounter_fill_vdso_timehands_t *tc_fill_vdso_timehands;
87 timecounter_fill_vdso_timehands32_t *tc_fill_vdso_timehands32;
92 extern int tc_min_ticktock_freq;
97 u_int64_t tc_getfrequency(
void);
99 void tc_setclock(
struct timespec *ts);
100 void tc_ticktock(
int cnt);
101 void cpu_tick_calibration(
void);
104 SYSCTL_DECL(_kern_timecounter);