Line data Source code
1 1 : /* 2 : * Copyright (c) 2019 Carlo Caione <ccaione@baylibre.com> 3 : * 4 : * SPDX-License-Identifier: Apache-2.0 5 : */ 6 : 7 : /** 8 : * @file 9 : * @brief Cortex-A public kernel miscellaneous 10 : * 11 : * ARM64-specific kernel miscellaneous interface. Included by 12 : * arm64/arch.h. 13 : */ 14 : 15 : #ifndef ZEPHYR_INCLUDE_ARCH_ARM64_MISC_H_ 16 : #define ZEPHYR_INCLUDE_ARCH_ARM64_MISC_H_ 17 : 18 : #ifdef __cplusplus 19 : extern "C" { 20 : #endif 21 : 22 : #ifndef _ASMLANGUAGE 23 0 : extern uint32_t sys_clock_cycle_get_32(void); 24 : 25 0 : static inline uint32_t arch_k_cycle_get_32(void) 26 : { 27 : return sys_clock_cycle_get_32(); 28 : } 29 : 30 0 : extern uint64_t sys_clock_cycle_get_64(void); 31 : 32 0 : static inline uint64_t arch_k_cycle_get_64(void) 33 : { 34 : return sys_clock_cycle_get_64(); 35 : } 36 : 37 0 : static ALWAYS_INLINE void arch_nop(void) 38 : { 39 : __asm__ volatile("nop"); 40 : } 41 : 42 : #endif 43 : 44 : #ifdef __cplusplus 45 : } 46 : #endif 47 : 48 : #endif /* ZEPHYR_INCLUDE_ARCH_ARM64_MISC_H_ */