#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 */ extern unsigned long __init calibrate_cpu(void); #endif