]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/kern/timer.c
xnu-2422.1.72.tar.gz
[apple/xnu.git] / osfmk / kern / timer.c
index b53419857ecfce18f4624962c99013e84d818974..901dbd9ee75fcd9dc6173cb1545e24281835f188 100644 (file)
@@ -56,7 +56,6 @@
 /* 
  */
 
-#include <stat_time.h>
 #include <machine_timer_routines.h>
 
 #include <mach/kern_return.h>
@@ -67,6 +66,8 @@
 #include <kern/sched_prim.h>
 #include <kern/timer.h>
 
+int precise_user_kernel_time = 1;
+
 /*
  *     timer_init initializes a timer.
  */
@@ -74,12 +75,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 +106,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,
@@ -180,5 +185,3 @@ thread_timer_event(
 }
 
 #endif /* MACHINE_TIMER_ROUTINES */
-
-#endif /* STAT_TIME */