LCOV - code coverage report
Current view: top level - zephyr/arch/arm64 - arch_inlines.h Hit Total Coverage
Test: new.info Lines: 0 5 0.0 %
Date: 2024-12-22 00:14:23

          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 1.14