arch/x86/include/asm/time.h
changeset 0 aa628870c1d3
equal deleted inserted replaced
-1:000000000000 0:aa628870c1d3
       
     1 #ifndef _ASM_X86_TIME_H
       
     2 #define _ASM_X86_TIME_H
       
     3 
       
     4 extern void hpet_time_init(void);
       
     5 
       
     6 #include <asm/mc146818rtc.h>
       
     7 #ifdef CONFIG_X86_32
       
     8 #include <linux/efi.h>
       
     9 
       
    10 static inline unsigned long native_get_wallclock(void)
       
    11 {
       
    12 	unsigned long retval;
       
    13 
       
    14 	if (efi_enabled)
       
    15 		retval = efi_get_time();
       
    16 	else
       
    17 		retval = mach_get_cmos_time();
       
    18 
       
    19 	return retval;
       
    20 }
       
    21 
       
    22 static inline int native_set_wallclock(unsigned long nowtime)
       
    23 {
       
    24 	int retval;
       
    25 
       
    26 	if (efi_enabled)
       
    27 		retval = efi_set_rtc_mmss(nowtime);
       
    28 	else
       
    29 		retval = mach_set_rtc_mmss(nowtime);
       
    30 
       
    31 	return retval;
       
    32 }
       
    33 
       
    34 #else
       
    35 extern void native_time_init_hook(void);
       
    36 
       
    37 static inline unsigned long native_get_wallclock(void)
       
    38 {
       
    39 	return mach_get_cmos_time();
       
    40 }
       
    41 
       
    42 static inline int native_set_wallclock(unsigned long nowtime)
       
    43 {
       
    44 	return mach_set_rtc_mmss(nowtime);
       
    45 }
       
    46 
       
    47 #endif
       
    48 
       
    49 extern void time_init(void);
       
    50 
       
    51 #ifdef CONFIG_PARAVIRT
       
    52 #include <asm/paravirt.h>
       
    53 #else /* !CONFIG_PARAVIRT */
       
    54 
       
    55 #define get_wallclock() native_get_wallclock()
       
    56 #define set_wallclock(x) native_set_wallclock(x)
       
    57 #define choose_time_init() hpet_time_init
       
    58 
       
    59 #endif /* CONFIG_PARAVIRT */
       
    60 
       
    61 extern unsigned long __init calibrate_cpu(void);
       
    62 
       
    63 #endif /* _ASM_X86_TIME_H */