1#ifndef _ASMi386_TIME_H 2#define _ASMi386_TIME_H 3 4#include <linux/efi.h> 5#include "mach_time.h" 6 7static 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 19static 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 31extern void (*late_time_init)(void); 32extern 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 45