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

            Line data    Source code
       1            0 : /*
       2              :  * Copyright (c) 2015, Wind River Systems, Inc.
       3              :  *
       4              :  * SPDX-License-Identifier: Apache-2.0
       5              :  */
       6              : 
       7              : #ifndef _CORTEX_M_CPU_H
       8              : #define _CORTEX_M_CPU_H
       9              : 
      10              : #ifdef _ASMLANGUAGE
      11              : 
      12              : #define _SCS_BASE_ADDR _PPB_INT_SCS
      13              : 
      14              : /* ICSR defines */
      15              : #define _SCS_ICSR           (_SCS_BASE_ADDR + 0xd04)
      16              : #define _SCS_ICSR_PENDSV    (1 << 28)
      17              : #define _SCS_ICSR_UNPENDSV  (1 << 27)
      18              : #define _SCS_ICSR_RETTOBASE (1 << 11)
      19              : 
      20              : #define _SCS_MPU_CTRL (_SCS_BASE_ADDR + 0xd94)
      21              : 
      22              : /* CONTROL defines */
      23              : #define _CONTROL_FPCA_Msk (1 << 2)
      24              : 
      25              : /* EXC_RETURN defines */
      26              : #define _EXC_RETURN_SPSEL_Msk (1 << 2)
      27              : #define _EXC_RETURN_FTYPE_Msk (1 << 4)
      28              : 
      29              : #else
      30              : #include <stdint.h>
      31              : 
      32              : #ifdef __cplusplus
      33              : extern "C" {
      34              : #endif
      35              : 
      36              : /* CP10 Access Bits */
      37            0 : #define CPACR_CP10_Pos         20U
      38            0 : #define CPACR_CP10_Msk         (3UL << CPACR_CP10_Pos)
      39            0 : #define CPACR_CP10_NO_ACCESS   (0UL << CPACR_CP10_Pos)
      40            0 : #define CPACR_CP10_PRIV_ACCESS (1UL << CPACR_CP10_Pos)
      41            0 : #define CPACR_CP10_RESERVED    (2UL << CPACR_CP10_Pos)
      42            0 : #define CPACR_CP10_FULL_ACCESS (3UL << CPACR_CP10_Pos)
      43              : 
      44              : /* CP11 Access Bits */
      45            0 : #define CPACR_CP11_Pos         22U
      46            0 : #define CPACR_CP11_Msk         (3UL << CPACR_CP11_Pos)
      47            0 : #define CPACR_CP11_NO_ACCESS   (0UL << CPACR_CP11_Pos)
      48            0 : #define CPACR_CP11_PRIV_ACCESS (1UL << CPACR_CP11_Pos)
      49            0 : #define CPACR_CP11_RESERVED    (2UL << CPACR_CP11_Pos)
      50            0 : #define CPACR_CP11_FULL_ACCESS (3UL << CPACR_CP11_Pos)
      51              : 
      52              : #ifdef CONFIG_PM_S2RAM
      53              : 
      54              : struct __cpu_context {
      55              :         /* GPRs are saved onto the stack */
      56              :         uint32_t msp;
      57              :         uint32_t psp;
      58              :         uint32_t primask;
      59              :         uint32_t control;
      60              : 
      61              : #if defined(CONFIG_ARMV7_M_ARMV8_M_MAINLINE)
      62              :         /* Registers present only on ARMv7-M and ARMv8-M Mainline */
      63              :         uint32_t faultmask;
      64              :         uint32_t basepri;
      65              : #endif /* CONFIG_ARMV7_M_ARMV8_M_MAINLINE */
      66              : 
      67              : #if defined(CONFIG_CPU_CORTEX_M_HAS_SPLIM)
      68              :         /* Registers present only on certain ARMv8-M implementations */
      69              :         uint32_t msplim;
      70              :         uint32_t psplim;
      71              : #endif /* CONFIG_CPU_CORTEX_M_HAS_SPLIM */
      72              : };
      73              : 
      74              : typedef struct __cpu_context _cpu_context_t;
      75              : 
      76              : #endif /* CONFIG_PM_S2RAM */
      77              : 
      78              : #ifdef __cplusplus
      79              : }
      80              : #endif
      81              : 
      82              : #endif /* _ASMLANGUAGE */
      83              : 
      84              : #endif /* _CORTEX_M_CPU_H */
        

Generated by: LCOV version 2.0-1