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

          Line data    Source code
       1           1 : /*
       2             :  * Copyright (c) 2020 BayLibre, SAS
       3             :  *
       4             :  * SPDX-License-Identifier: Apache-2.0
       5             :  */
       6             : 
       7             : /**
       8             :  * @file
       9             :  * @brief RISCV public error handling
      10             :  *
      11             :  * RISCV-specific kernel error handling interface. Included by riscv/arch.h.
      12             :  */
      13             : 
      14             : #ifndef ZEPHYR_INCLUDE_ARCH_RISCV_ERROR_H_
      15             : #define ZEPHYR_INCLUDE_ARCH_RISCV_ERROR_H_
      16             : 
      17             : #include <zephyr/arch/riscv/syscall.h>
      18             : #include <zephyr/arch/riscv/exception.h>
      19             : #include <stdbool.h>
      20             : 
      21             : #ifdef __cplusplus
      22             : extern "C" {
      23             : #endif
      24             : 
      25             : #ifdef CONFIG_USERSPACE
      26             : 
      27           0 : #define ARCH_EXCEPT(reason_p)   do {                    \
      28             :                 if (k_is_user_context()) {              \
      29             :                         arch_syscall_invoke1(reason_p,  \
      30             :                                 K_SYSCALL_USER_FAULT);  \
      31             :                 } else {                                \
      32             :                         compiler_barrier();             \
      33             :                         arch_syscall_invoke1(reason_p,  \
      34             :                                 RV_ECALL_RUNTIME_EXCEPT);\
      35             :                 }                                       \
      36             :                 CODE_UNREACHABLE; /* LCOV_EXCL_LINE */  \
      37             :         } while (false)
      38             : #else
      39             : #define ARCH_EXCEPT(reason_p) \
      40             :         arch_syscall_invoke1(reason_p, RV_ECALL_RUNTIME_EXCEPT)
      41             : #endif
      42             : 
      43           0 : __syscall void user_fault(unsigned int reason);
      44             : 
      45             : #include <zephyr/syscalls/error.h>
      46             : 
      47             : #ifdef __cplusplus
      48             : }
      49             : #endif
      50             : 
      51             : #endif /* ZEPHYR_INCLUDE_ARCH_RISCV_ERROR_H_ */

Generated by: LCOV version 1.14