X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/2d21ac55c334faf3a56e5634905ed6987fc787d4..cc8bc92ae4a8e9f1a1ab61bf83d34ad8150b3405:/osfmk/kern/timer.c diff --git a/osfmk/kern/timer.c b/osfmk/kern/timer.c index b53419857..f101eb171 100644 --- a/osfmk/kern/timer.c +++ b/osfmk/kern/timer.c @@ -56,9 +56,6 @@ /* */ -#include -#include - #include #include #include @@ -67,6 +64,12 @@ #include #include +#if CONFIG_EMBEDDED +int precise_user_kernel_time = 0; +#else +int precise_user_kernel_time = 1; +#endif + /* * timer_init initializes a timer. */ @@ -74,12 +77,14 @@ void timer_init( timer_t timer) { -#if !STAT_TIME timer->tstamp = 0; -#endif /* STAT_TIME */ +#if defined(__LP64__) + timer->all_bits = 0; +#else timer->low_bits = 0; timer->high_bits = 0; timer->high_bits_check = 0; +#endif /* defined(__LP64__) */ } /* @@ -103,17 +108,19 @@ timer_advance( timer_t timer, uint64_t delta) { +#if defined(__LP64__) + timer->all_bits += delta; +#else uint64_t low; low = delta + timer->low_bits; if (low >> 32) - timer_update(timer, timer->high_bits + (low >> 32), low); + timer_update(timer, (uint32_t)(timer->high_bits + (low >> 32)), (uint32_t)low); else - timer->low_bits = low; + timer->low_bits = (uint32_t)low; +#endif /* defined(__LP64__) */ } -#if !STAT_TIME - void timer_start( timer_t timer, @@ -143,14 +150,6 @@ timer_switch( new_timer->tstamp = tstamp; } -#if MACHINE_TIMER_ROUTINES - -/* - * Machine-dependent code implements the timer event routine. - */ - -#else /* MACHINE_TIMER_ROUTINES */ - /* * Update the current thread timer and * start the new timer. Requires a current @@ -178,7 +177,3 @@ thread_timer_event( PROCESSOR_DATA(processor, thread_timer) = new_timer; new_timer->tstamp = tstamp; } - -#endif /* MACHINE_TIMER_ROUTINES */ - -#endif /* STAT_TIME */