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 extern uint32_t sys_clock_cycle_get_32(void); 24 arch_k_cycle_get_32(void)25static inline uint32_t arch_k_cycle_get_32(void) 26 { 27 return sys_clock_cycle_get_32(); 28 } 29 30 extern uint64_t sys_clock_cycle_get_64(void); 31 arch_k_cycle_get_64(void)32static inline uint64_t arch_k_cycle_get_64(void) 33 { 34 return sys_clock_cycle_get_64(); 35 } 36 arch_nop(void)37static 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_ */ 49