Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/jk/spufs into...
[deliverable/linux.git] / arch / x86 / include / asm / time.h
1 #ifndef _ASM_X86_TIME_H
2 #define _ASM_X86_TIME_H
3
4 extern void hpet_time_init(void);
5
6 #include <asm/mc146818rtc.h>
7 #ifdef CONFIG_X86_32
8 #include <linux/efi.h>
9
10 static inline unsigned long native_get_wallclock(void)
11 {
12 unsigned long retval;
13
14 if (efi_enabled)
15 retval = efi_get_time();
16 else
17 retval = mach_get_cmos_time();
18
19 return retval;
20 }
21
22 static inline int native_set_wallclock(unsigned long nowtime)
23 {
24 int retval;
25
26 if (efi_enabled)
27 retval = efi_set_rtc_mmss(nowtime);
28 else
29 retval = mach_set_rtc_mmss(nowtime);
30
31 return retval;
32 }
33
34 #else
35 extern void native_time_init_hook(void);
36
37 static inline unsigned long native_get_wallclock(void)
38 {
39 return mach_get_cmos_time();
40 }
41
42 static inline int native_set_wallclock(unsigned long nowtime)
43 {
44 return mach_set_rtc_mmss(nowtime);
45 }
46
47 #endif
48
49 extern void time_init(void);
50
51 #ifdef CONFIG_PARAVIRT
52 #include <asm/paravirt.h>
53 #else /* !CONFIG_PARAVIRT */
54
55 #define get_wallclock() native_get_wallclock()
56 #define set_wallclock(x) native_set_wallclock(x)
57 #define choose_time_init() hpet_time_init
58
59 #endif /* CONFIG_PARAVIRT */
60
61 extern unsigned long __init calibrate_cpu(void);
62
63 #endif /* _ASM_X86_TIME_H */
This page took 0.045625 seconds and 5 git commands to generate.