clock.h revision 208494
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 208494 2010-05-24 11:40:49Z 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 u_int	i8254_freq;
19extern int	i8254_max_count;
20extern uint64_t	tsc_freq;
21extern int	tsc_is_broken;
22extern int	tsc_is_invariant;
23
24void	i8254_init(void);
25
26struct trapframe;
27
28int	hardclockintr(struct trapframe *frame);
29int	statclockintr(struct trapframe *frame);
30
31/*
32 * Driver to clock driver interface.
33 */
34
35void	startrtclock(void);
36void	init_TSC(void);
37void	init_TSC_tc(void);
38
39#define	HAS_TIMER_SPKR 1
40int	timer_spkr_acquire(void);
41int	timer_spkr_release(void);
42void	timer_spkr_setfreq(int freq);
43
44#endif /* _KERNEL */
45
46#endif /* !_MACHINE_CLOCK_H_ */
47