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.9 2008/05/10 17:24:08 dillon Exp $ 8 */ 9 10 #ifndef _MACHINE_CLOCK_H_ 11 #define _MACHINE_CLOCK_H_ 12 13 #ifdef _KERNEL 14 15 #ifndef _SYS_TYPES_H_ 16 #include <sys/types.h> 17 #endif 18 #ifndef _SYS_SYSTIMER_H_ 19 #include <sys/systimer.h> 20 #endif 21 22 typedef struct TOTALDELAY { 23 int us; 24 int started; 25 sysclock_t last_clock; 26 } TOTALDELAY; 27 28 /* 29 * i386 to clock driver interface. 30 * XXX large parts of the driver and its interface are misplaced. 31 */ 32 extern int adjkerntz; 33 extern int disable_rtc_set; 34 extern u_int timer_freq; 35 extern int timer0_max_count; 36 extern int tsc_present; 37 extern int64_t tsc_frequency; 38 extern int tsc_is_broken; 39 extern int wall_cmos_clock; 40 41 /* 42 * Driver to clock driver interface. 43 */ 44 45 int CHECKTIMEOUT(TOTALDELAY *); 46 int rtcin (int val); 47 int acquire_timer2 (int mode); 48 int release_timer2 (void); 49 int sysbeep (int pitch, int period); 50 void timer_restore (void); 51 52 #endif /* _KERNEL */ 53 54 #endif /* !_MACHINE_CLOCK_H_ */ 55