clock.h revision 177631
1139731Simp/*-
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 177631 2008-03-26 15:03:24Z 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 */
17122849Speterextern int	clkintr_pending;
1832052Sphkextern int	statclock_disable;
19177631Sphkextern u_int	i8254_freq;
20177631Sphkextern int	i8254_max_count;
21110039Sphkextern uint64_t	tsc_freq;
2247592Sphkextern int	tsc_is_broken;
234174Sbde
24166186Sbdevoid	i8254_init(void);
25166186Sbde
264174Sbde/*
274174Sbde * Driver to clock driver interface.
284174Sbde */
2919172Sbde
3092761Salfredint	acquire_timer2(int mode);
3192761Salfredint	release_timer2(void);
32172998Speterint	rtcin(int reg);
33172998Spetervoid	writertc(int reg, unsigned char val);
3492761Salfredint	sysbeep(int pitch, int period);
35110370Sphkvoid	init_TSC(void);
36120355Spetervoid	init_TSC_tc(void);
374174Sbde
3855205Speter#endif /* _KERNEL */
3919172Sbde
404174Sbde#endif /* !_MACHINE_CLOCK_H_ */
41