]> git.proxmox.com Git - ceph.git/blame - ceph/src/seastar/dpdk/lib/librte_eal/common/include/arch/arm/rte_atomic_32.h
import 15.2.0 Octopus source
[ceph.git] / ceph / src / seastar / dpdk / lib / librte_eal / common / include / arch / arm / rte_atomic_32.h
CommitLineData
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
13extern "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_ */