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

          Line data    Source code
       1           0 : /*
       2             :  * Copyright 2020 Carlo Caione <ccaione@baylibre.com>
       3             :  *
       4             :  * SPDX-License-Identifier: Apache-2.0
       5             :  */
       6             : 
       7             : #ifndef ZEPHYR_INCLUDE_ARCH_ARM64_SMCCC_H_
       8             : #define ZEPHYR_INCLUDE_ARCH_ARM64_SMCCC_H_
       9             : 
      10             : /*
      11             :  * Result from SMC/HVC call
      12             :  * @a0-a7 result values from registers 0 to 7
      13             :  */
      14           0 : struct arm_smccc_res {
      15           0 :         unsigned long a0;
      16           0 :         unsigned long a1;
      17           0 :         unsigned long a2;
      18           0 :         unsigned long a3;
      19           0 :         unsigned long a4;
      20           0 :         unsigned long a5;
      21           0 :         unsigned long a6;
      22           0 :         unsigned long a7;
      23             : };
      24             : 
      25           0 : typedef struct arm_smccc_res arm_smccc_res_t;
      26             : 
      27           0 : enum arm_smccc_conduit {
      28             :         SMCCC_CONDUIT_NONE,
      29             :         SMCCC_CONDUIT_SMC,
      30             :         SMCCC_CONDUIT_HVC,
      31             : };
      32             : 
      33             : /*
      34             :  * @brief Make HVC calls
      35             :  *
      36             :  * @param a0 function identifier
      37             :  * @param a1-a7 parameters registers
      38             :  * @param res results
      39             :  */
      40           0 : void arm_smccc_hvc(unsigned long a0, unsigned long a1,
      41             :                    unsigned long a2, unsigned long a3,
      42             :                    unsigned long a4, unsigned long a5,
      43             :                    unsigned long a6, unsigned long a7,
      44             :                    struct arm_smccc_res *res);
      45             : 
      46             : /*
      47             :  * @brief Make SMC calls
      48             :  *
      49             :  * @param a0 function identifier
      50             :  * @param a1-a7 parameters registers
      51             :  * @param res results
      52             :  */
      53           0 : void arm_smccc_smc(unsigned long a0, unsigned long a1,
      54             :                    unsigned long a2, unsigned long a3,
      55             :                    unsigned long a4, unsigned long a5,
      56             :                    unsigned long a6, unsigned long a7,
      57             :                    struct arm_smccc_res *res);
      58             : 
      59             : #endif /* ZEPHYR_INCLUDE_ARCH_ARM64_SMCCC_H_ */

Generated by: LCOV version 1.14