X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=include%2Fust%2Fclock.h;h=5e8f755b9c08573d1fd7ec110156fe3ea71bdaf4;hb=0a2aba1397f90fa65c293ab856d18579ae14b77f;hp=04785fc34e7bf1154fa725129db3a0af20ba5668;hpb=08b070db024044d21779c63f721673e06032eff8;p=ust.git diff --git a/include/ust/clock.h b/include/ust/clock.h index 04785fc..5e8f755 100644 --- a/include/ust/clock.h +++ b/include/ust/clock.h @@ -20,7 +20,9 @@ #include #include -#include +#include +#include +#include /* TRACE CLOCK */ @@ -39,49 +41,22 @@ precision and monotonicity. */ -#if __i386__ || __x86_64__ /* Only available for x86 arch */ #define CLOCK_TRACE_FREQ 14 #define CLOCK_TRACE 15 union lttng_timespec { struct timespec ts; - u64 lttng_ts; + uint64_t lttng_ts; }; -#endif /* __i386__ || __x86_64__ */ extern int ust_clock_source; /* Choosing correct trace clock */ -#if __PPC__ -static __inline__ u64 trace_clock_read64(void) -{ - unsigned long tb_l; - unsigned long tb_h; - unsigned long tb_h2; - u64 tb; - - __asm__ ( - "1:\n\t" - "mftbu %[rhigh]\n\t" - "mftb %[rlow]\n\t" - "mftbu %[rhigh2]\n\t" - "cmpw %[rhigh],%[rhigh2]\n\t" - "bne 1b\n\t" - : [rhigh] "=r" (tb_h), [rhigh2] "=r" (tb_h2), [rlow] "=r" (tb_l)); - - tb = tb_h; - tb <<= 32; - tb |= tb_l; - - return tb; -} -#else /* !__PPC__ */ - -static __inline__ u64 trace_clock_read64(void) +static __inline__ uint64_t trace_clock_read64(void) { struct timespec ts; - u64 retval; + uint64_t retval; union lttng_timespec *lts = (union lttng_timespec *) &ts; clock_gettime(ust_clock_source, &ts); @@ -101,9 +76,8 @@ static __inline__ u64 trace_clock_read64(void) return retval; } -#endif /* __PPC__ */ - -static __inline__ u64 trace_clock_frequency(void) +#if __i386__ || __x86_64__ +static __inline__ uint64_t trace_clock_frequency(void) { struct timespec ts; union lttng_timespec *lts = (union lttng_timespec *) &ts; @@ -114,8 +88,14 @@ static __inline__ u64 trace_clock_frequency(void) } return 1000000000LL; } +#else /* #if __i386__ || __x86_64__ */ +static __inline__ uint64_t trace_clock_frequency(void) +{ + return 1000000000LL; +} +#endif /* #else #if __i386__ || __x86_64__ */ -static __inline__ u32 trace_clock_freq_scale(void) +static __inline__ uint32_t trace_clock_freq_scale(void) { return 1; }