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