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

          Line data    Source code
       1           0 : /*
       2             :  * Copyright (c) BayLibre SAS
       3             :  *
       4             :  * SPDX-License-Identifier: Apache-2.0
       5             :  */
       6             : 
       7             : /*
       8             :  * The purpose of this file is to provide essential/minimal architecture-
       9             :  * specific structure definitions to be included in generic kernel
      10             :  * structures.
      11             :  *
      12             :  * The following rules must be observed:
      13             :  *  1. arch/structs.h shall not depend on kernel.h both directly and
      14             :  *     indirectly (i.e. it shall not include any header files that include
      15             :  *     kernel.h in their dependency chain).
      16             :  *  2. kernel.h shall imply arch/structs.h via kernel_structs.h , such that
      17             :  *     it shall not be necessary to include arch/structs.h explicitly when
      18             :  *     kernel.h is included.
      19             :  */
      20             : 
      21             : #ifndef ZEPHYR_INCLUDE_ARCH_STRUCTS_H_
      22             : #define ZEPHYR_INCLUDE_ARCH_STRUCTS_H_
      23             : 
      24             : #if !defined(_ASMLANGUAGE)
      25             : 
      26             : #if defined(CONFIG_ARM64)
      27             : #include <zephyr/arch/arm64/structs.h>
      28             : #elif defined(CONFIG_RISCV)
      29             : #include <zephyr/arch/riscv/structs.h>
      30             : #elif defined(CONFIG_ARM)
      31             : #include <zephyr/arch/arm/structs.h>
      32             : #else
      33             : 
      34             : /* Default definitions when no architecture specific definitions exist. */
      35             : 
      36             : /* Per CPU architecture specifics (empty) */
      37             : struct _cpu_arch {
      38             : #ifdef __cplusplus
      39             :         /* This struct will have a size 0 in C which is not allowed in C++ (it'll have a size 1). To
      40             :          * prevent this, we add a 1 byte dummy variable.
      41             :          */
      42             :         uint8_t dummy;
      43             : #endif
      44             : };
      45             : 
      46             : #endif
      47             : 
      48             : /* typedefs to be used with GEN_OFFSET_SYM(), etc. */
      49             : typedef struct _cpu_arch _cpu_arch_t;
      50             : 
      51             : #endif /* _ASMLANGUAGE */
      52             : 
      53             : #endif /* ZEPHYR_INCLUDE_ARCH_STRUCTS_H_ */

Generated by: LCOV version 1.14