patch-2_6_7-vs1_9_1_12
[linux-2.6.git] / include / asm-x86_64 / timex.h
1 /*
2  * linux/include/asm-x86_64/timex.h
3  *
4  * x86-64 architecture timex specifications
5  */
6 #ifndef _ASMx8664_TIMEX_H
7 #define _ASMx8664_TIMEX_H
8
9 #include <linux/config.h>
10 #include <asm/8253pit.h>
11 #include <asm/msr.h>
12 #include <asm/vsyscall.h>
13 #include <asm/hpet.h>
14
15 #define CLOCK_TICK_RATE PIT_TICK_RATE   /* Underlying HZ */
16 #define CLOCK_TICK_FACTOR       20      /* Factor of both 1000000 and CLOCK_TICK_RATE */
17 #define FINETUNE ((((((int)LATCH * HZ - CLOCK_TICK_RATE) << SHIFT_HZ) * \
18         (1000000/CLOCK_TICK_FACTOR) / (CLOCK_TICK_RATE/CLOCK_TICK_FACTOR)) \
19                 << (SHIFT_SCALE-SHIFT_HZ)) / HZ)
20
21 typedef unsigned long long cycles_t;
22
23 extern cycles_t cacheflush_time;
24
25 static inline cycles_t get_cycles (void)
26 {
27         unsigned long long ret;
28
29         rdtscll(ret);
30         return ret;
31 }
32
33 extern unsigned int cpu_khz;
34
35 extern struct vxtime_data vxtime;
36
37 #endif