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 */ 8 9 #ifndef _MACHINE_CLOCK_H_ 10 #define _MACHINE_CLOCK_H_ 11 12 #ifdef _KERNEL 13 14 #ifndef _SYS_TYPES_H_ 15 #include <sys/types.h> 16 #endif 17 18 typedef uint64_t tsc_uclock_t; 19 typedef int64_t tsc_sclock_t; 20 21 /* 22 * i386 to clock driver interface. 23 * XXX large parts of the driver and its interface are misplaced. 24 */ 25 extern int adjkerntz; 26 extern int disable_rtc_set; 27 extern u_int timer_freq; 28 extern int timer0_max_count; 29 extern int tsc_present; 30 extern int tsc_invariant; 31 extern int tsc_mpsync; 32 extern int tsc_is_broken; 33 extern int wall_cmos_clock; 34 extern tsc_uclock_t tsc_frequency; 35 extern tsc_uclock_t tsc_oneus_approx; /* do not use for fine calc, min 1 */ 36 37 /* 38 * Driver to clock driver interface. 39 */ 40 41 int rtcin (int val); 42 int acquire_timer2 (int mode); 43 int release_timer2 (void); 44 int sysbeep (int pitch, int period); 45 void timer_restore (void); 46 47 #endif /* _KERNEL */ 48 49 #endif /* !_MACHINE_CLOCK_H_ */ 50