clock.h revision 82971
1210311Sjmallett/*
2210311Sjmallett * Kernel interface to machine-dependent clock driver.
3210311Sjmallett * Garrett Wollman, September 1994.
4210311Sjmallett * This file is in the public domain.
5210311Sjmallett *
6210311Sjmallett * $FreeBSD: head/sys/i386/include/clock.h 82971 2001-09-04 16:02:06Z iwasaki $
7210311Sjmallett */
8210311Sjmallett
9210311Sjmallett#ifndef _MACHINE_CLOCK_H_
10210311Sjmallett#define	_MACHINE_CLOCK_H_
11210311Sjmallett
12210311Sjmallett#ifdef _KERNEL
13210311Sjmallett/*
14210311Sjmallett * i386 to clock driver interface.
15210311Sjmallett * XXX large parts of the driver and its interface are misplaced.
16210311Sjmallett */
17210311Sjmallettextern int	adjkerntz;
18210311Sjmallettextern int	disable_rtc_set;
19210311Sjmallettextern int	statclock_disable;
20210311Sjmallettextern u_int	timer_freq;
21210311Sjmallettextern int	timer0_max_count;
22210311Sjmallettextern u_int	tsc_freq;
23210311Sjmallettextern int	tsc_is_broken;
24210311Sjmallettextern int	wall_cmos_clock;
25210311Sjmallett#ifdef APIC_IO
26210311Sjmallettextern int	apic_8254_intr;
27210311Sjmallett#endif
28210311Sjmallett
29210311Sjmallett/*
30210311Sjmallett * Driver to clock driver interface.
31210311Sjmallett */
32210311Sjmallettstruct clockframe;
33210311Sjmallett
34210311Sjmallettint	acquire_timer0 __P((int rate,
35210311Sjmallett			    void (*function)(struct clockframe *frame)));
36210311Sjmallettint	acquire_timer2 __P((int mode));
37210311Sjmallettint	release_timer0 __P((void));
38210311Sjmallettint	release_timer2 __P((void));
39210311Sjmallett#ifndef PC98
40210311Sjmallettint	rtcin __P((int val));
41210311Sjmallett#else
42210311Sjmallettint	acquire_timer1 __P((int mode));
43210311Sjmallettint	release_timer1 __P((void));
44210311Sjmallett#endif
45257324Sglebiusint	sysbeep __P((int pitch, int period));
46210311Sjmallettvoid	timer_restore __P((void));
47210311Sjmallett
48210311Sjmallett#endif /* _KERNEL */
49210311Sjmallett
50210311Sjmallett#endif /* !_MACHINE_CLOCK_H_ */
51210311Sjmallett