4c891702eeb2e1c4d49fea0b2a74f6fbf9677898
[dragonfly.git] / sys / platform / pc32 / 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  * $DragonFly: src/sys/platform/pc32/include/clock.h,v 1.3 2003/08/03 11:51:25 hmp Exp $
8  */
9
10 #ifndef _MACHINE_CLOCK_H_
11 #define _MACHINE_CLOCK_H_
12
13 #ifdef _KERNEL
14 /*
15  * i386 to clock driver interface.
16  * XXX large parts of the driver and its interface are misplaced.
17  */
18 extern int      adjkerntz;
19 extern int      disable_rtc_set;
20 extern int      statclock_disable;
21 extern u_int    timer_freq;
22 extern int      timer0_max_count;
23 extern u_int    tsc_freq;
24 extern int      tsc_is_broken;
25 extern int      wall_cmos_clock;
26 #ifdef APIC_IO
27 extern int      apic_8254_intr;
28 #endif
29
30 /*
31  * Driver to clock driver interface.
32  */
33 struct clockframe;
34
35 int     acquire_timer0 __P((int rate,
36                             void (*function)(struct clockframe *frame)));
37 int     acquire_timer2 __P((int mode));
38 int     release_timer0 __P((void));
39 int     release_timer2 __P((void));
40 #ifndef PC98
41 int     rtcin __P((int val));
42 #else
43 int     acquire_timer1 __P((int mode));
44 int     release_timer1 __P((void));
45 #endif
46 int     sysbeep __P((int pitch, int period));
47 void    timer_restore __P((void));
48
49 #endif /* _KERNEL */
50
51 #endif /* !_MACHINE_CLOCK_H_ */