timecounter
timecounter->tc_quality > 0)
static u_int a10_timer_get_timecount(struct timecounter *);
static u_int a23_timer_get_timecount(struct timecounter *tc);
static struct timecounter a10_timer_timecounter = {
static struct timecounter a23_timer_timecounter = {
a23_timer_get_timecount(struct timecounter *tc)
a10_timer_get_timecount(struct timecounter *tc)
struct timecounter *tc);
static struct timecounter arm_tmr_timecount = {
arm_tmr_get_timecount(struct timecounter *tc)
struct timecounter *tc)
static struct timecounter *arm_tmr_tc;
static struct timecounter arm_tmr_timecount = {
arm_tmr_get_timecount(struct timecounter *tc)
static unsigned sp804_timer_tc_get_timecount(struct timecounter *);
sp804_timer_tc_get_timecount(struct timecounter *tc)
struct timecounter tc;
struct timecounter tc;
epit_tc_get_timecount(struct timecounter *tc)
static u_int epit_tc_get_timecount(struct timecounter *tc);
imx_gpt_get_timecount(struct timecounter *tc)
static u_int imx_gpt_get_timecount(struct timecounter *);
static struct timecounter imx_gpt_timecounter = {
static unsigned mv_timer_get_timecount(struct timecounter *);
static struct timecounter mv_timer_timecounter = {
mv_timer_get_timecount(struct timecounter *tc)
am335x_dmtimer_tc_get_timecount(struct timecounter *tc)
struct timecounter tc;
dmtpps_get_timecount(struct timecounter *tc)
dmtpps_poll(struct timecounter *tc)
struct timecounter tc;
(void)timecounter->tc_get_timecount(timecounter);
static u_int hpet_get_timecount(struct timecounter *tc);
hpet_get_timecount(struct timecounter *tc)
hpet_vdso_timehands(struct vdso_timehands *vdso_th, struct timecounter *tc)
struct timecounter *tc)
struct timecounter tc;
struct timecounter;
struct timecounter *tc);
struct timecounter *tc);
acpi_timer_resume_handler(struct timecounter *newtc, enum power_stype stype)
struct timecounter *tc;
tc = timecounter;
timecounter = newtc;
acpi_timer_suspend_handler(struct timecounter *newtc, enum power_stype stype)
struct timecounter *tc;
if ((timecounter->tc_flags & TC_FLAGS_SUSPEND_SAFE) != 0) {
tc = timecounter;
timecounter = newtc;
acpi_timer_get_timecount(struct timecounter *tc)
acpi_timer_get_timecount_safe(struct timecounter *tc)
static void acpi_timer_resume_handler(struct timecounter *,
static void acpi_timer_suspend_handler(struct timecounter *,
static u_int acpi_timer_get_timecount(struct timecounter *tc);
static u_int acpi_timer_get_timecount_safe(struct timecounter *tc);
static struct timecounter acpi_timer_timecounter = {
struct timecounter *tc __unused)
hyperv_tsc_timecount_##fence(struct timecounter *tc __unused) \
struct timecounter *);
static struct timecounter hyperv_tsc_timecounter = {
static u_int hyperv_get_timecount(struct timecounter *);
static struct timecounter hyperv_timecounter = {
hyperv_get_timecount(struct timecounter *tc __unused)
timecounter->tc_get_timecount(timecounter);
xentimer_get_timecount(struct timecounter *tc)
struct timecounter tc;
elan_poll_pps(struct timecounter *tc)
elan_get_timecount(struct timecounter *tc)
static struct timecounter elan_timecounter = {
geode_get_timecount(struct timecounter *tc)
static struct timecounter geode_timecounter = {
static unsigned piix_get_timecount(struct timecounter *tc);
static struct timecounter piix_timecounter = {
piix_get_timecount(struct timecounter *tc)
tc_init(struct timecounter *tc)
SYSCTL_NODE(_kern, OID_AUTO, timecounter, CTLFLAG_RW | CTLFLAG_MPSAFE, 0,
if (tc->tc_quality < timecounter->tc_quality)
if (tc->tc_quality == timecounter->tc_quality &&
tc->tc_frequency < timecounter->tc_frequency)
timecounter = tc;
struct timecounter *tc;
tc = atomic_load_ptr(&timecounter);
struct timecounter *newtc, *tc;
tc = timecounter;
timecounter = newtc;
struct timecounter *tc;
struct timecounter *tc;
struct timecounter *captc;
struct timecounter *tc = arg1;
struct timecounter *tc = arg1;
(void)timecounter->tc_get_timecount(timecounter);
SYSINIT(timecounter, SI_SUB_CLOCKS, SI_ORDER_SECOND, inittimecounter, NULL);
struct timecounter *tc;
struct timecounter *tc;
DB_SHOW_COMMAND(timecounter, db_show_timecounter)
struct timecounter *tc;
struct timecounter *tc;
dummy_get_timecount(struct timecounter *tc)
static struct timecounter dummy_timecounter = {
struct timecounter *th_counter;
struct timecounter *tc;
struct timecounter *timecounter = &dummy_timecounter;
static struct timecounter *timecounters = &dummy_timecounter;
struct timecounter *tc = atomic_load_ptr(&timecounter);
cpu_fill_vdso_timehands(struct vdso_timehands *vdso_th, struct timecounter *tc)
struct timecounter *tc)
static struct timecounter decr_tc = {
decr_vdso_timehands(struct vdso_timehands *vdso_th, struct timecounter *tc)
struct timecounter *tc)
decr_get_timecount(struct timecounter *tc)
struct timecounter *tc);
struct timecounter *tc);
struct timecounter *tc)
static struct timecounter riscv_timer_timecount = {
riscv_timer_tc_get_timecount(struct timecounter *tc __unused)
struct timecounter *ppstc;
struct timecounter;
typedef u_int timecounter_get_t(struct timecounter *);
typedef void timecounter_pps_t(struct timecounter *);
struct timecounter *);
struct timecounter *);
struct timecounter *tc_next;
extern struct timecounter *timecounter;
void tc_init(struct timecounter *tc);
struct timecounter *tc);
struct timecounter *tc);
struct timecounter;
struct timecounter tc;
struct timecounter tc;
static unsigned i8254_get_timecount(struct timecounter *tc);
i8254_get_timecount(struct timecounter *tc)
struct timecounter *tc;
tc = timecounter;
pvclock_tc_get_timecount(struct timecounter *tc)
struct timecounter *tc)
struct timecounter *tc)
static u_int pvclock_tc_get_timecount(struct timecounter *tc);
struct vdso_timehands *vdso_th, struct timecounter *tc);
struct vdso_timehands32 *vdso_th, struct timecounter *tc);
static u_int tsc_get_timecount_low_mfence(struct timecounter *tc);
static u_int tscp_get_timecount(struct timecounter *tc);
static u_int tscp_get_timecount_low(struct timecounter *tc);
struct timecounter *tc);
struct timecounter *tc);
static struct timecounter tsc_timecounter = {
if (*status != 0 || timecounter != &tsc_timecounter)
tsc_get_timecount(struct timecounter *tc __unused)
tscp_get_timecount(struct timecounter *tc __unused)
tsc_get_timecount_low(struct timecounter *tc)
tscp_get_timecount_low(struct timecounter *tc)
tsc_get_timecount_lfence(struct timecounter *tc __unused)
tsc_get_timecount_low_lfence(struct timecounter *tc)
static u_int tsc_get_timecount(struct timecounter *tc);
tsc_get_timecount_mfence(struct timecounter *tc __unused)
static inline u_int tsc_get_timecount_low(struct timecounter *tc);
tsc_get_timecount_low_mfence(struct timecounter *tc)
static u_int tsc_get_timecount_lfence(struct timecounter *tc);
x86_tsc_vdso_timehands(struct vdso_timehands *vdso_th, struct timecounter *tc)
static u_int tsc_get_timecount_low_lfence(struct timecounter *tc);
struct timecounter *tc)
static u_int tsc_get_timecount_mfence(struct timecounter *tc);