LCOV - code coverage report
Current view: top level - zephyr/sys - barrier_builtin.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) 2023 Carlo Caione <ccaione@baylibre.com>
       3             :  *
       4             :  * SPDX-License-Identifier: Apache-2.0
       5             :  */
       6             : 
       7             : #ifndef ZEPHYR_INCLUDE_SYS_BARRIER_BUILTIN_H_
       8             : #define ZEPHYR_INCLUDE_SYS_BARRIER_BUILTIN_H_
       9             : 
      10             : #ifndef ZEPHYR_INCLUDE_SYS_BARRIER_H_
      11             : #error Please include <zephyr/sys/barrier.h>
      12             : #endif
      13             : 
      14             : #include <zephyr/toolchain.h>
      15             : 
      16             : #ifdef __cplusplus
      17             : extern "C" {
      18             : #endif
      19             : 
      20             : static ALWAYS_INLINE void z_barrier_dmem_fence_full(void)
      21             : {
      22             : #if defined(__GNUC__)
      23             :         /* GCC-ism */
      24             :         __atomic_thread_fence(__ATOMIC_SEQ_CST);
      25             : #else
      26             :         atomic_thread_fence(memory_order_seq_cst);
      27             : #endif
      28             : }
      29             : 
      30             : static ALWAYS_INLINE void z_barrier_dsync_fence_full(void)
      31             : {
      32             : #if defined(__GNUC__)
      33             :         /* GCC-ism */
      34             :         __atomic_thread_fence(__ATOMIC_SEQ_CST);
      35             : #else
      36             :         atomic_thread_fence(memory_order_seq_cst);
      37             : #endif
      38             : }
      39             : 
      40             : static ALWAYS_INLINE void z_barrier_isync_fence_full(void)
      41             : {
      42             :         __asm__ volatile("" : : : "memory");
      43             : }
      44             : 
      45             : #ifdef __cplusplus
      46             : }
      47             : #endif
      48             : 
      49             : #endif /* ZEPHYR_INCLUDE_SYS_BARRIER_BUILTIN_H_ */

Generated by: LCOV version 1.14