LCOV - code coverage report
Current view: top level - zephyr/arch/arm - arch_inlines.h Hit Total Coverage
Test: new.info Lines: 0 3 0.0 %
Date: 2024-12-21 18:13:37

          Line data    Source code
       1           0 : /*
       2             :  * Copyright 2022 IoT.bzh
       3             :  *
       4             :  * SPDX-License-Identifier: Apache-2.0
       5             :  */
       6             : 
       7             : #ifndef ZEPHYR_INCLUDE_ARCH_ARM_ARCH_INLINES_H
       8             : #define ZEPHYR_INCLUDE_ARCH_ARM_ARCH_INLINES_H
       9             : 
      10             : #include <zephyr/kernel_structs.h>
      11             : #if defined(CONFIG_CPU_AARCH32_CORTEX_R) || defined(CONFIG_CPU_AARCH32_CORTEX_A)
      12             : #include <zephyr/arch/arm/cortex_a_r/lib_helpers.h>
      13             : #include <zephyr/arch/arm/cortex_a_r/tpidruro.h>
      14             : 
      15             : static ALWAYS_INLINE _cpu_t *arch_curr_cpu(void)
      16             : {
      17             :         return (_cpu_t *)(read_tpidruro() & TPIDRURO_CURR_CPU);
      18             : }
      19             : #else
      20             : 
      21             : #ifndef CONFIG_SMP
      22             : static ALWAYS_INLINE _cpu_t *arch_curr_cpu(void)
      23             : {
      24             :         /* Dummy implementation always return the first cpu */
      25             :         return &_kernel.cpus[0];
      26             : }
      27             : #endif
      28             : #endif
      29             : 
      30           0 : static ALWAYS_INLINE uint32_t arch_proc_id(void)
      31             : {
      32             :         /*
      33             :          * Placeholder implementation to be replaced with an architecture
      34             :          * specific call to get processor ID
      35             :          */
      36             :         return arch_curr_cpu()->id;
      37             : }
      38             : 
      39           0 : static ALWAYS_INLINE unsigned int arch_num_cpus(void)
      40             : {
      41             :         return CONFIG_MP_MAX_NUM_CPUS;
      42             : }
      43             : 
      44             : #endif /* ZEPHYR_INCLUDE_ARCH_ARM_ARCH_INLINES_H */

Generated by: LCOV version 1.14