2 * Kernel interface to machine-dependent clock driver.
3 * Garrett Wollman, September 1994.
4 * This file is in the public domain.
9 #ifndef _MACHINE_CLOCK_H_
10 #define _MACHINE_CLOCK_H_
14 * i386 to clock driver interface.
15 * XXX large parts of the driver and its interface are misplaced.
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;
24 void i8254_init(void);
28 int hardclockintr(struct trapframe *frame);
29 int statclockintr(struct trapframe *frame);
30 int profclockintr(struct trapframe *frame);
33 * Driver to clock driver interface.
36 void startrtclock(void);
38 void init_TSC_tc(void);
40 #define HAS_TIMER_SPKR 1
41 int timer_spkr_acquire(void);
42 int timer_spkr_release(void);
43 void timer_spkr_setfreq(int freq);
47 #endif /* !_MACHINE_CLOCK_H_ */