| #ifndef _ASMX86_TIME_H | |
| #define _ASMX86_TIME_H | |
| extern void hpet_time_init(void); | |
| #include <asm/mc146818rtc.h> | |
| #ifdef CONFIG_X86_32 | |
| #include <linux/efi.h> | |
| static inline unsigned long native_get_wallclock(void) | |
| { | |
| unsigned long retval; | |
| if (efi_enabled) | |
| retval = efi_get_time(); | |
| else | |
| retval = mach_get_cmos_time(); | |
| return retval; | |
| } | |
| static inline int native_set_wallclock(unsigned long nowtime) | |
| { | |
| int retval; | |
| if (efi_enabled) | |
| retval = efi_set_rtc_mmss(nowtime); | |
| else | |
| retval = mach_set_rtc_mmss(nowtime); | |
| return retval; | |
| } | |
| #else | |
| extern void native_time_init_hook(void); | |
| static inline unsigned long native_get_wallclock(void) | |
| { | |
| return mach_get_cmos_time(); | |
| } | |
| static inline int native_set_wallclock(unsigned long nowtime) | |
| { | |
| return mach_set_rtc_mmss(nowtime); | |
| } | |
| #endif | |
| #ifdef CONFIG_PARAVIRT | |
| #include <asm/paravirt.h> | |
| #else /* !CONFIG_PARAVIRT */ | |
| #define get_wallclock() native_get_wallclock() | |
| #define set_wallclock(x) native_set_wallclock(x) | |
| #define choose_time_init() hpet_time_init | |
| #endif /* CONFIG_PARAVIRT */ | |
| #endif |