12 #ifndef _SYS_TIMETC_H_ 13 #define _SYS_TIMETC_H_ 17 #error "no user-serviceable parts inside" 33 typedef uint32_t timecounter_get_t(
struct timecounter *);
34 typedef void timecounter_pps_t(
struct timecounter *);
37 timecounter_get_t *tc_get_timecount;
43 timecounter_pps_t *tc_poll_pps;
50 uint32_t tc_counter_mask;
52 uint64_t tc_frequency;
63 #define TC_FLAGS_C2STOP 1 64 #define TC_FLAGS_SUSPEND_SAFE 2 71 struct timecounter *tc_next;
75 extern struct timecounter *timecounter;
76 extern int tc_min_ticktock_freq;
81 u_int64_t tc_getfrequency(
void);
82 void tc_init(
struct timecounter *tc);
83 void tc_setclock(
struct timespec *ts);
84 void tc_ticktock(
int cnt);
85 void cpu_tick_calibration(
void);
88 SYSCTL_DECL(_kern_timecounter);