/* * Copyright 2012, Haiku, Inc. * Distributed under the terms of the MIT License. * * Authors: * François Revol */ #include #include #include #include static vint32 *sConversionFactor; void __arm_setup_system_time(vint32 *cvFactor) { sConversionFactor = cvFactor; } //XXX: this is a hack // remove me when platform code works static int64 __arm_get_time_base(void) { static uint64 time_dilation_field = 0; return time_dilation_field++; } bigtime_t system_time(void) { uint64 timeBase = __arm_get_time_base(); uint32 cv = sConversionFactor ? *sConversionFactor : 0; return (timeBase >> 32) * cv + (((timeBase & 0xffffffff) * cv) >> 32); }