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: releng/8.3/sys/i386/include/clock.h 199583 2009-11-20 15:27:52Z jhb $
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 */
17 extern int clkintr_pending;
18 extern u_int i8254_freq;
19 extern int i8254_max_count;
20 extern uint64_t tsc_freq;
21 extern int tsc_is_broken;
22 extern int tsc_is_invariant;
23
24 void i8254_init(void);
25
26 struct trapframe;
27
28 int hardclockintr(struct trapframe *frame);
29 int statclockintr(struct trapframe *frame);
30 int profclockintr(struct trapframe *frame);
31
32 /*
33 * Driver to clock driver interface.
34 */
35
36 void startrtclock(void);
37 void timer_restore(void);
38 void init_TSC(void);
39 void init_TSC_tc(void);
40
41 #define HAS_TIMER_SPKR 1
42 int timer_spkr_acquire(void);
43 int timer_spkr_release(void);
44 void timer_spkr_setfreq(int freq);
45
46 #endif /* _KERNEL */
47
48 #endif /* !_MACHINE_CLOCK_H_ */
Cache object: b8b64964a8291f7b42ede76d74decd83
|