clock/tsc: Detect invariant TSC
[dragonfly.git] / sys / platform / vkernel64 / include / clock.h
1 /*
2  * Kernel interface to machine-dependent clock driver.
3  * Garrett Wollman, September 1994.
4  * This file is in the public domain.
5  *
6  * $FreeBSD: src/sys/i386/include/clock.h,v 1.38.2.1 2002/11/02 04:41:50 iwasaki Exp $
7  */
8
9 #ifndef _MACHINE_CLOCK_H_
10 #define _MACHINE_CLOCK_H_
11
12 #ifdef _KERNEL
13
14 #ifndef _SYS_TYPES_H_
15 #include <sys/types.h>
16 #endif
17
18 /*
19  * i386 to clock driver interface.
20  * XXX large parts of the driver and its interface are misplaced.
21  */
22 extern int      adjkerntz;
23 extern int      disable_rtc_set;
24 extern u_int    timer_freq;
25 extern int      timer0_max_count;
26 extern int      tsc_present;
27 extern int      tsc_invariant;
28 extern int64_t  tsc_frequency;
29 extern int      tsc_is_broken;
30 extern int      wall_cmos_clock;
31 extern int      apic_8254_intr;
32
33 /*
34  * Driver to clock driver interface.
35  */
36
37 int     rtcin (int val);
38 int     acquire_timer2 (int mode);
39 int     release_timer2 (void);
40 int     sysbeep (int pitch, int period);
41 void    timer_restore (void);
42
43 #endif /* _KERNEL */
44
45 #endif /* !_MACHINE_CLOCK_H_ */