summaryrefslogtreecommitdiff
path: root/src/vendorcode
diff options
context:
space:
mode:
authorStefan Reinauer <reinauer@chromium.org>2013-09-16 14:23:16 -0700
committerPatrick Georgi <patrick@georgi-clan.de>2014-08-10 22:26:58 +0200
commit141512161b40666e83094d8d99c544ce9a74ab8f (patch)
tree55e4ea51fdc54af206b98ca32a90bd24ca5a2e32 /src/vendorcode
parent7cb01e0bcfe4287df83b0bc07928dae33e29a9c8 (diff)
vboot: Implement VbExGetTimer using monotonic timers
On x86 VbExGetTimer() uses rdtsc. However, on all other platforms, let's just use coreboot's monotonic timers. Change-Id: I0cd359f298be33776740305b111624147e2c850d Signed-off-by: Stefan Reinauer <reinauer@google.com> Reviewed-on: https://chromium-review.googlesource.com/169620 (cherry picked from commit e910bb17522d5de42c0fc3cc945278e733fa2553) Signed-off-by: Isaac Christensen <isaac.christensen@se-eng.com> Reviewed-on: http://review.coreboot.org/6534 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Diffstat (limited to 'src/vendorcode')
-rw-r--r--src/vendorcode/google/chromeos/vboot_wrapper.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/vendorcode/google/chromeos/vboot_wrapper.c b/src/vendorcode/google/chromeos/vboot_wrapper.c
index fe3c022833..d008de17cb 100644
--- a/src/vendorcode/google/chromeos/vboot_wrapper.c
+++ b/src/vendorcode/google/chromeos/vboot_wrapper.c
@@ -17,7 +17,11 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
#include <console/vtxprintf.h>
+#if CONFIG_ARCH_X86
#include <cpu/x86/tsc.h>
+#else
+#include <timer.h>
+#endif
#include <rmodule.h>
#include <stdlib.h>
#include <string.h>
@@ -123,7 +127,13 @@ void VbExDebug(const char *format, ...)
uint64_t VbExGetTimer(void)
{
+#if CONFIG_ARCH_X86
return rdtscll();
+#else
+ struct mono_time mt;
+ timer_monotonic_get(&mt);
+ return mt.microseconds;
+#endif
}
VbError_t VbExNvStorageRead(uint8_t *buf)