aboutsummaryrefslogtreecommitdiff
path: root/sys/x86/include/clock.h
diff options
context:
space:
mode:
authorMark Johnston <markj@FreeBSD.org>2021-12-06 15:39:08 +0000
committerMark Johnston <markj@FreeBSD.org>2021-12-06 15:39:08 +0000
commitf06f1d1fdb969fa7a0a6eefa030d8536f365eb6e (patch)
treeef6cdc403385ab6b1b14a7c2a46f8519694f6aa3 /sys/x86/include/clock.h
parentdbf05458e3bd8c46f5e49918593557293a29d41a (diff)
Diffstat (limited to 'sys/x86/include/clock.h')
-rw-r--r--sys/x86/include/clock.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/sys/x86/include/clock.h b/sys/x86/include/clock.h
new file mode 100644
index 000000000000..86a4541568ed
--- /dev/null
+++ b/sys/x86/include/clock.h
@@ -0,0 +1,46 @@
+/*-
+ * Kernel interface to machine-dependent clock driver.
+ * Garrett Wollman, September 1994.
+ * This file is in the public domain.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef _MACHINE_CLOCK_H_
+#define _MACHINE_CLOCK_H_
+
+#ifdef _KERNEL
+/*
+ * i386 to clock driver interface.
+ * XXX large parts of the driver and its interface are misplaced.
+ */
+extern int clkintr_pending;
+extern u_int i8254_freq;
+extern int i8254_max_count;
+extern uint64_t tsc_freq;
+extern int tsc_is_invariant;
+extern int tsc_perf_stat;
+#ifdef SMP
+extern int smp_tsc;
+#endif
+
+void i8254_init(void);
+void i8254_delay(int);
+void clock_init(void);
+
+/*
+ * Driver to clock driver interface.
+ */
+
+void startrtclock(void);
+void init_TSC(void);
+void resume_TSC(void);
+
+#define HAS_TIMER_SPKR 1
+int timer_spkr_acquire(void);
+int timer_spkr_release(void);
+void timer_spkr_setfreq(int freq);
+
+#endif /* _KERNEL */
+
+#endif /* !_MACHINE_CLOCK_H_ */