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 pscnt; 20 extern int psdiv; 21 extern int statclock_disable; 22 extern u_int timer_freq; 23 extern int timer0_max_count; 24 extern uint64_t tsc_freq; 25 extern int tsc_is_broken; 26 extern int wall_cmos_clock; 27 28 /* 29 * Driver to clock driver interface. 30 */ 31 struct clockframe; 32 33 #ifndef BURN_BRIDGES 34 int acquire_timer0(int rate, void (*function)(struct clockframe *frame)); 35 int release_timer0(void); 36 #endif 37 int acquire_timer2(int mode); 38 int release_timer2(void); 39 int rtcin(int val); 40 int sysbeep(int pitch, int period); 41 void init_TSC(void); 42 void init_TSC_tc(void); 43 44 #endif /* _KERNEL */ 45 46 #endif /* !_MACHINE_CLOCK_H_ */ 47