clock.h revision 55205
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 55205 1999-12-29 04:46:21Z peter $
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;
2232005Sphkextern u_int	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
344174Sbdevoid	DELAY __P((int usec));
354174Sbdeint	acquire_timer0 __P((int rate,
364174Sbde			    void (*function)(struct clockframe *frame)));
374174Sbdeint	acquire_timer2 __P((int mode));
384174Sbdeint	release_timer0 __P((void));
394174Sbdeint	release_timer2 __P((void));
4016363Sasami#ifndef PC98
4114943Sbdeint	rtcin __P((int val));
4216363Sasami#else
4316363Sasamiint	acquire_timer1 __P((int mode));
4416363Sasamiint	release_timer1 __P((void));
4516363Sasami#endif
464174Sbdeint	sysbeep __P((int pitch, int period));
4752669Siwasakivoid	i8254_restore __P((void));
484174Sbde
4955205Speter#endif /* _KERNEL */
5019172Sbde
514174Sbde#endif /* !_MACHINE_CLOCK_H_ */
52