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 int statclock_disable; 35 extern u_int timer_freq; 36 extern int timer0_max_count; 37 extern int tsc_present; 38 extern int64_t tsc_frequency; 39 extern int tsc_is_broken; 40 extern int wall_cmos_clock; 41 #ifdef APIC_IO 42 extern int apic_8254_intr; 43 #endif 44 45 /* 46 * Driver to clock driver interface. 47 */ 48 49 int CHECKTIMEOUT(TOTALDELAY *); 50 int rtcin (int val); 51 int acquire_timer2 (int mode); 52 int release_timer2 (void); 53 int sysbeep (int pitch, int period); 54 void timer_restore (void); 55 56 #endif /* _KERNEL */ 57 58 #endif /* !_MACHINE_CLOCK_H_ */ 59