clock.h revision 191744
1/*-
2 * Kernel interface to machine-dependent clock driver.
3 * Garrett Wollman, September 1994.
4 * This file is in the public domain.
5 *
6 * $FreeBSD: head/sys/amd64/include/clock.h 191744 2009-05-02 12:20:43Z mav $
7 */
8
9#ifndef _MACHINE_CLOCK_H_
10#define	_MACHINE_CLOCK_H_
11
12#ifdef _KERNEL
13/*
14 * i386 to clock driver interface.
15 * XXX large parts of the driver and its interface are misplaced.
16 */
17extern int	clkintr_pending;
18extern int	statclock_disable;
19extern u_int	i8254_freq;
20extern int	i8254_max_count;
21extern uint64_t	tsc_freq;
22extern int	tsc_is_broken;
23extern int	tsc_is_invariant;
24
25void	i8254_init(void);
26
27struct trapframe;
28
29int	hardclockintr(struct trapframe *frame);
30int	statclockintr(struct trapframe *frame);
31int	profclockintr(struct trapframe *frame);
32
33/*
34 * Driver to clock driver interface.
35 */
36
37void	startrtclock(void);
38void	init_TSC(void);
39void	init_TSC_tc(void);
40
41#define	HAS_TIMER_SPKR 1
42int	timer_spkr_acquire(void);
43int	timer_spkr_release(void);
44void	timer_spkr_setfreq(int freq);
45
46#endif /* _KERNEL */
47
48#endif /* !_MACHINE_CLOCK_H_ */
49