clock.h revision 110039
12858Swollman/*
22858Swollman * Kernel interface to machine-dependent clock driver.
32858Swollman * Garrett Wollman, September 1994.
42858Swollman * This file is in the public domain.
512533Swollman *
650477Speter * $FreeBSD: head/sys/amd64/include/clock.h 110039 2003-01-29 11:36:39Z phk $
72858Swollman */
82858Swollman
92858Swollman#ifndef _MACHINE_CLOCK_H_
104174Sbde#define	_MACHINE_CLOCK_H_
112858Swollman
1255205Speter#ifdef _KERNEL
134174Sbde/*
144174Sbde * i386 to clock driver interface.
1533809Sbde * XXX large parts of the driver and its interface are misplaced.
164174Sbde */
174174Sbdeextern int	adjkerntz;
184174Sbdeextern int	disable_rtc_set;
1932052Sphkextern int	statclock_disable;
2032052Sphkextern u_int	timer_freq;
2132052Sphkextern int	timer0_max_count;
22110039Sphkextern uint64_t	tsc_freq;
2347592Sphkextern int	tsc_is_broken;
2418992Sbdeextern int	wall_cmos_clock;
2534058Stegge#ifdef APIC_IO
2634058Steggeextern int	apic_8254_intr;
2734058Stegge#endif
284174Sbde
294174Sbde/*
304174Sbde * Driver to clock driver interface.
314174Sbde */
3219172Sbdestruct clockframe;
3319172Sbde
3492761Salfredint	acquire_timer0(int rate, void (*function)(struct clockframe *frame));
3592761Salfredint	acquire_timer2(int mode);
3692761Salfredint	release_timer0(void);
3792761Salfredint	release_timer2(void);
3816363Sasami#ifndef PC98
3992761Salfredint	rtcin(int val);
4016363Sasami#else
4192761Salfredint	acquire_timer1(int mode);
4292761Salfredint	release_timer1(void);
4316363Sasami#endif
4492761Salfredint	sysbeep(int pitch, int period);
4592761Salfredvoid	timer_restore(void);
464174Sbde
4755205Speter#endif /* _KERNEL */
4819172Sbde
494174Sbde#endif /* !_MACHINE_CLOCK_H_ */
50