1 /*
2  * Copyright (c) 2018 Intel Corporation
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #include <zephyr/kernel.h>
8 #include <cmsis_os.h>
9 #include <kernel_internal.h>
10 
11 /**
12  * @brief Get the RTOS kernel system timer counter
13  */
osKernelSysTick(void)14 uint32_t osKernelSysTick(void)
15 {
16 	return k_cycle_get_32();
17 }
18 
19 /**
20  * @brief Initialize the RTOS Kernel for creating objects.
21  */
osKernelInitialize(void)22 osStatus osKernelInitialize(void)
23 {
24 	return osOK;
25 }
26 
27 /**
28  * @brief Start the RTOS Kernel.
29  */
osKernelStart(void)30 osStatus osKernelStart(void)
31 {
32 	if (k_is_in_isr()) {
33 		return osErrorISR;
34 	}
35 	return osOK;
36 }
37 
38 /**
39  * @brief Check if the RTOS kernel is already started.
40  */
osKernelRunning(void)41 int32_t osKernelRunning(void)
42 {
43 	return !z_is_thread_suspended(&z_main_thread);
44 }
45