LCOV - code coverage report
Current view: top level - zephyr/arch/arm64 - arch_inlines.h Coverage Total Hit
Test: new.info Lines: 0.0 % 5 0
Test Date: 2025-09-05 16:43:28

            Line data    Source code
       1            0 : /*
       2              :  * Copyright 2020 NXP
       3              :  *
       4              :  * SPDX-License-Identifier: Apache-2.0
       5              :  */
       6              : 
       7              : #ifndef ZEPHYR_INCLUDE_ARCH_ARM64_ARCH_INLINES_H
       8              : #define ZEPHYR_INCLUDE_ARCH_ARM64_ARCH_INLINES_H
       9              : 
      10              : #ifndef _ASMLANGUAGE
      11              : 
      12              : #include <zephyr/kernel_structs.h>
      13              : #include <zephyr/arch/arm64/lib_helpers.h>
      14              : #include <zephyr/arch/arm64/tpidrro_el0.h>
      15              : #include <zephyr/sys/__assert.h>
      16              : 
      17              : /* Note: keep in sync with `get_cpu` in arch/arm64/core/macro_priv.inc */
      18            0 : static ALWAYS_INLINE _cpu_t *arch_curr_cpu(void)
      19              : {
      20              :         return (_cpu_t *)(read_tpidrro_el0() & TPIDRROEL0_CURR_CPU);
      21              : }
      22              : 
      23            0 : static ALWAYS_INLINE int arch_exception_depth(void)
      24              : {
      25              :         return (read_tpidrro_el0() & TPIDRROEL0_EXC_DEPTH) / TPIDRROEL0_EXC_UNIT;
      26              : }
      27              : 
      28            0 : static ALWAYS_INLINE uint32_t arch_proc_id(void)
      29              : {
      30              :         uint64_t cpu_mpid = read_mpidr_el1();
      31              : 
      32              :         __ASSERT(cpu_mpid == (uint32_t)cpu_mpid, "mpid extends past 32 bits");
      33              : 
      34              :         return (uint32_t)cpu_mpid;
      35              : }
      36              : 
      37            0 : static ALWAYS_INLINE unsigned int arch_num_cpus(void)
      38              : {
      39              :         return CONFIG_MP_MAX_NUM_CPUS;
      40              : }
      41              : 
      42              : #endif /* !_ASMLANGUAGE */
      43              : #endif /* ZEPHYR_INCLUDE_ARCH_ARM64_ARCH_INLINES_H */
        

Generated by: LCOV version 2.0-1