| 123456789101112131415161718192021222324252627282930313233343536 |
- /*
- * Copyright (C) 2019 Intel Corporation. All rights reserved.
- * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- */
- #include "platform_api_vmcore.h"
- uint64
- os_time_get_boot_us()
- {
- return k_uptime_get() * 1000;
- }
- uint64
- os_time_thread_cputime_us(void)
- {
- /* On certain boards, enabling userspace could impact the collection of
- * thread runtime statistics */
- #ifdef CONFIG_THREAD_RUNTIME_STATS
- k_tid_t tid;
- struct k_thread_runtime_stats stats;
- uint32 clock_freq;
- uint64 cpu_cycles, time_in_us = 0;
- tid = k_current_get();
- if (k_thread_runtime_stats_get(tid, &stats) == 0) {
- cpu_cycles = stats.execution_cycles;
- clock_freq = CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC;
- time_in_us = (cpu_cycles * 1000000) / clock_freq;
- }
- return time_in_us;
- #else
- return os_time_get_boot_us();
- #endif
- }
|