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