Zephyr API Documentation 4.3.99
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
barrier.h
Go to the documentation of this file.
1
6#ifndef ZEPHYR_INCLUDE_BARRIER_ARM_H_
7#define ZEPHYR_INCLUDE_BARRIER_ARM_H_
8
9#ifndef ZEPHYR_INCLUDE_SYS_BARRIER_H_
10#error Please include <zephyr/sys/barrier.h>
11#endif
12
13#include <cmsis_core.h>
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
19static ALWAYS_INLINE void z_barrier_sync_synchronize(void)
20{
21 __sync_synchronize();
22}
23
24static ALWAYS_INLINE void z_barrier_dmem_fence_full(void)
25{
26 __DMB();
27}
28
29static ALWAYS_INLINE void z_barrier_dsync_fence_full(void)
30{
31 __DSB();
32}
33
34static ALWAYS_INLINE void z_barrier_isync_fence_full(void)
35{
36 __ISB();
37}
38
39#ifdef __cplusplus
40}
41#endif
42
43#endif /* ZEPHYR_INCLUDE_BARRIER_ARM_H_ */
#define ALWAYS_INLINE
Definition common.h:160