clock.h revision 120355
1220346Sadrian/*
2220346Sadrian * Kernel interface to machine-dependent clock driver.
3220346Sadrian * Garrett Wollman, September 1994.
4220346Sadrian * This file is in the public domain.
5220346Sadrian *
6220346Sadrian * $FreeBSD: head/sys/amd64/include/clock.h 120355 2003-09-22 23:02:24Z peter $
7220346Sadrian */
8220346Sadrian
9220346Sadrian#ifndef _MACHINE_CLOCK_H_
10220346Sadrian#define	_MACHINE_CLOCK_H_
11220346Sadrian
12220346Sadrian#ifdef _KERNEL
13220346Sadrian/*
14220346Sadrian * i386 to clock driver interface.
15220346Sadrian * XXX large parts of the driver and its interface are misplaced.
16220346Sadrian */
17220346Sadrianextern int	adjkerntz;
18220346Sadrianextern int	disable_rtc_set;
19220346Sadrianextern int	pscnt;
20220346Sadrianextern int	psdiv;
21220346Sadrianextern int	statclock_disable;
22220346Sadrianextern u_int	timer_freq;
23220346Sadrianextern int	timer0_max_count;
24220346Sadrianextern uint64_t	tsc_freq;
25220346Sadrianextern int	tsc_is_broken;
26220346Sadrianextern int	wall_cmos_clock;
27220346Sadrian
28222286Sru/*
29220346Sadrian * Driver to clock driver interface.
30220346Sadrian */
31220346Sadrianstruct clockframe;
32220346Sadrian
33220346Sadrianint	acquire_timer0(int rate, void (*function)(struct clockframe *frame));
34233515Sjoelint	acquire_timer2(int mode);
35220346Sadrianint	release_timer0(void);
36220346Sadrianint	release_timer2(void);
37220346Sadrianint	rtcin(int val);
38220346Sadrianint	sysbeep(int pitch, int period);
39220346Sadrianvoid	init_TSC(void);
40220346Sadrianvoid	init_TSC_tc(void);
41220346Sadrian
42220346Sadrian#endif /* _KERNEL */
43220346Sadrian
44220346Sadrian#endif /* !_MACHINE_CLOCK_H_ */
45220346Sadrian