Branch data Line data Source code
1 : : /* 2 : : * Copyright (c) 2013-2014 Wind River Systems, Inc. 3 : : * 4 : : * SPDX-License-Identifier: Apache-2.0 5 : : */ 6 : : 7 : : /** 8 : : * @file 9 : : * @brief ARM AArch32 public kernel miscellaneous 10 : : * 11 : : * ARM AArch32-specific kernel miscellaneous interface. Included by arm/arch.h. 12 : : */ 13 : : 14 : : #ifndef ZEPHYR_INCLUDE_ARCH_ARM_AARCH32_MISC_H_ 15 : : #define ZEPHYR_INCLUDE_ARCH_ARM_AARCH32_MISC_H_ 16 : : 17 : : #ifdef __cplusplus 18 : : extern "C" { 19 : : #endif 20 : : 21 : : #ifndef _ASMLANGUAGE 22 : : extern uint32_t sys_clock_cycle_get_32(void); 23 : : 24 : 2 : static inline uint32_t arch_k_cycle_get_32(void) 25 : : { 26 : 2 : return sys_clock_cycle_get_32(); 27 : : } 28 : : 29 : : extern uint64_t sys_clock_cycle_get_64(void); 30 : : 31 : : static inline uint64_t arch_k_cycle_get_64(void) 32 : : { 33 : : return sys_clock_cycle_get_64(); 34 : : } 35 : : 36 : : static ALWAYS_INLINE void arch_nop(void) 37 : : { 38 : : __asm__ volatile("nop"); 39 : : } 40 : : 41 : : #if defined(CONFIG_USERSPACE) 42 : : extern bool z_arm_thread_is_in_user_mode(void); 43 : : #endif 44 : : 45 : : #endif 46 : : 47 : : #ifdef __cplusplus 48 : : } 49 : : #endif 50 : : 51 : : #endif /* ZEPHYR_INCLUDE_ARCH_ARM_AARCH32_MISC_H_ */