clock.h revision 110370
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 110370 2003-02-05 09:20:40Z 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;
19110296Sjakeextern int	pscnt;
20110296Sjakeextern int	psdiv;
2132052Sphkextern int	statclock_disable;
2232052Sphkextern u_int	timer_freq;
2332052Sphkextern int	timer0_max_count;
24110039Sphkextern uint64_t	tsc_freq;
2547592Sphkextern int	tsc_is_broken;
2618992Sbdeextern int	wall_cmos_clock;
2734058Stegge#ifdef APIC_IO
2834058Steggeextern int	apic_8254_intr;
2934058Stegge#endif
304174Sbde
314174Sbde/*
324174Sbde * Driver to clock driver interface.
334174Sbde */
3419172Sbdestruct clockframe;
3519172Sbde
3692761Salfredint	acquire_timer0(int rate, void (*function)(struct clockframe *frame));
3792761Salfredint	acquire_timer2(int mode);
3892761Salfredint	release_timer0(void);
3992761Salfredint	release_timer2(void);
4016363Sasami#ifndef PC98
4192761Salfredint	rtcin(int val);
4216363Sasami#else
4392761Salfredint	acquire_timer1(int mode);
4492761Salfredint	release_timer1(void);
4516363Sasami#endif
4692761Salfredint	sysbeep(int pitch, int period);
4792761Salfredvoid	timer_restore(void);
48110370Sphkvoid	init_TSC(void);
494174Sbde
5055205Speter#endif /* _KERNEL */
5119172Sbde
524174Sbde#endif /* !_MACHINE_CLOCK_H_ */
53