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