LCOV - code coverage report
Current view: top level - zephyr/arch/arm - misc.h Coverage Total Hit
Test: new.info Lines: 16.7 % 6 1
Test Date: 2025-09-05 16:43:28

            Line data    Source code
       1            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_MISC_H_
      15              : #define ZEPHYR_INCLUDE_ARCH_ARM_MISC_H_
      16              : 
      17              : #ifdef __cplusplus
      18              : extern "C" {
      19              : #endif
      20              : 
      21              : #ifndef _ASMLANGUAGE
      22            0 : extern uint32_t sys_clock_cycle_get_32(void);
      23              : 
      24            0 : static inline uint32_t arch_k_cycle_get_32(void)
      25              : {
      26              :         return sys_clock_cycle_get_32();
      27              : }
      28              : 
      29            0 : extern uint64_t sys_clock_cycle_get_64(void);
      30              : 
      31            0 : static inline uint64_t arch_k_cycle_get_64(void)
      32              : {
      33              :         return sys_clock_cycle_get_64();
      34              : }
      35              : 
      36            0 : 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              : #if defined(CONFIG_ARM_ON_ENTER_CPU_IDLE_HOOK)
      46              : /* Prototype of a hook that can be enabled to be called every time the CPU is
      47              :  * made idle (the calls will be done from k_cpu_idle() and k_cpu_atomic_idle()).
      48              :  * If this hook returns false, the CPU is prevented from entering the actual
      49              :  * sleep (the WFE/WFI instruction is skipped).
      50              :  */
      51              : bool z_arm_on_enter_cpu_idle(void);
      52              : #endif
      53              : 
      54              : #if defined(CONFIG_ARM_ON_ENTER_CPU_IDLE_PREPARE_HOOK)
      55              : /* Prototype of a hook that can be enabled to be called every time the CPU is
      56              :  * made idle (the calls will be done from k_cpu_idle() and k_cpu_atomic_idle()).
      57              :  * The function is called before interrupts are disabled and can prepare to
      58              :  * upcoming call to z_arm_on_enter_cpu_idle.
      59              :  */
      60              : void z_arm_on_enter_cpu_idle_prepare(void);
      61              : #endif
      62              : 
      63              : #endif
      64              : 
      65              : #ifdef __cplusplus
      66              : }
      67              : #endif
      68              : 
      69              : #endif /* ZEPHYR_INCLUDE_ARCH_ARM_MISC_H_ */
        

Generated by: LCOV version 2.0-1