1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/*!
AArch64 (ARM64) architecture memory barrier implementations.
Based on Linux kernel arch/arm64/include/asm/barrier.h
*/
use asm;
/// AArch64 read memory barrier implementation.
///
/// Uses DSB (Data Synchronization Barrier) with LD (load) domain.
/// AArch64 write memory barrier implementation.
///
/// Uses DSB (Data Synchronization Barrier) with ST (store) domain.
/// AArch64 general memory barrier implementation.
///
/// Uses DSB (Data Synchronization Barrier) with SY (full system) domain.