diff options
author | Stefan Reinauer <reinauer@chromium.org> | 2013-09-16 14:23:16 -0700 |
---|---|---|
committer | Patrick Georgi <patrick@georgi-clan.de> | 2014-08-10 22:26:58 +0200 |
commit | 141512161b40666e83094d8d99c544ce9a74ab8f (patch) | |
tree | 55e4ea51fdc54af206b98ca32a90bd24ca5a2e32 /src/vendorcode/google/chromeos | |
parent | 7cb01e0bcfe4287df83b0bc07928dae33e29a9c8 (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/google/chromeos')
-rw-r--r-- | src/vendorcode/google/chromeos/vboot_wrapper.c | 10 |
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) |