/* * ======== TimestampProvider_get64 ======== */ Void TimestampProvider_get64(Types_Timestamp64 *result) { result->lo = (Bits32)TimestampProvider_get32(); result->hi = MOD->upper32Bits; if (TimestampProvider_getOverflowCCNT() != 0) { result->lo = (Bits32)TimestampProvider_get32(); result->hi = ++MOD->upper32Bits; } }
/* * ======== TimestampProvider_get64 ======== */ Void TimestampProvider_get64(Types_Timestamp64 *result) { result->lo = TimestampProvider_get32(); if (BIOS_clockEnabled && TimestampProvider_useClockTimer) { result->hi = Timer_getRollovers(MOD->timer); } else { result->hi = MOD->rollovers; } }
/* * ======== TimestampProvider_get64 ======== * For target performance, no attempt is made to guarantee hi/lo coherence. * User of get64 is expected to handle this. */ Void TimestampProvider_get64(Types_Timestamp64 *result) { result->hi = MOD->hi; result->lo = TimestampProvider_get32(); }