diff options
Diffstat (limited to 'include/asm-x86/time.h')
-rw-r--r-- | include/asm-x86/time.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/include/asm-x86/time.h b/include/asm-x86/time.h new file mode 100644 index 000000000000..eac011366dc2 --- /dev/null +++ b/include/asm-x86/time.h | |||
@@ -0,0 +1,44 @@ | |||
1 | #ifndef _ASMi386_TIME_H | ||
2 | #define _ASMi386_TIME_H | ||
3 | |||
4 | #include <linux/efi.h> | ||
5 | #include "mach_time.h" | ||
6 | |||
7 | static inline unsigned long native_get_wallclock(void) | ||
8 | { | ||
9 | unsigned long retval; | ||
10 | |||
11 | if (efi_enabled) | ||
12 | retval = efi_get_time(); | ||
13 | else | ||
14 | retval = mach_get_cmos_time(); | ||
15 | |||
16 | return retval; | ||
17 | } | ||
18 | |||
19 | static inline int native_set_wallclock(unsigned long nowtime) | ||
20 | { | ||
21 | int retval; | ||
22 | |||
23 | if (efi_enabled) | ||
24 | retval = efi_set_rtc_mmss(nowtime); | ||
25 | else | ||
26 | retval = mach_set_rtc_mmss(nowtime); | ||
27 | |||
28 | return retval; | ||
29 | } | ||
30 | |||
31 | extern void (*late_time_init)(void); | ||
32 | extern void hpet_time_init(void); | ||
33 | |||
34 | #ifdef CONFIG_PARAVIRT | ||
35 | #include <asm/paravirt.h> | ||
36 | #else /* !CONFIG_PARAVIRT */ | ||
37 | |||
38 | #define get_wallclock() native_get_wallclock() | ||
39 | #define set_wallclock(x) native_set_wallclock(x) | ||
40 | #define choose_time_init() hpet_time_init | ||
41 | |||
42 | #endif /* CONFIG_PARAVIRT */ | ||
43 | |||
44 | #endif | ||