]>
Commit | Line | Data |
---|---|---|
9f95a23c TL |
1 | /* SPDX-License-Identifier: BSD-3-Clause |
2 | * Copyright(c) 2015 RehiveTech. All rights reserved. | |
7c673cae FG |
3 | */ |
4 | ||
5 | #ifndef _RTE_ATOMIC_ARM32_H_ | |
6 | #define _RTE_ATOMIC_ARM32_H_ | |
7 | ||
8 | #ifndef RTE_FORCE_INTRINSICS | |
9 | # error Platform must be built with CONFIG_RTE_FORCE_INTRINSICS | |
10 | #endif | |
11 | ||
12 | #ifdef __cplusplus | |
13 | extern "C" { | |
14 | #endif | |
15 | ||
16 | #include "generic/rte_atomic.h" | |
17 | ||
7c673cae FG |
18 | #define rte_mb() __sync_synchronize() |
19 | ||
7c673cae FG |
20 | #define rte_wmb() do { asm volatile ("dmb st" : : : "memory"); } while (0) |
21 | ||
7c673cae FG |
22 | #define rte_rmb() __sync_synchronize() |
23 | ||
11fdf7f2 TL |
24 | #define rte_smp_mb() rte_mb() |
25 | ||
26 | #define rte_smp_wmb() rte_wmb() | |
27 | ||
28 | #define rte_smp_rmb() rte_rmb() | |
29 | ||
30 | #define rte_io_mb() rte_mb() | |
31 | ||
32 | #define rte_io_wmb() rte_wmb() | |
33 | ||
34 | #define rte_io_rmb() rte_rmb() | |
35 | ||
9f95a23c TL |
36 | #define rte_cio_wmb() rte_wmb() |
37 | ||
38 | #define rte_cio_rmb() rte_rmb() | |
39 | ||
7c673cae FG |
40 | #ifdef __cplusplus |
41 | } | |
42 | #endif | |
43 | ||
44 | #endif /* _RTE_ATOMIC_ARM32_H_ */ |