Commit | Line | Data |
---|---|---|
d3d3857f MJ |
1 | // SPDX-FileCopyrightText: 2010 Paolo Bonzini <pbonzini@redhat.com> |
2 | // | |
3 | // SPDX-License-Identifier: LGPL-2.1-or-later | |
4 | ||
6f9d9b49 PB |
5 | #ifndef _URCU_ARCH_ALPHA_H |
6 | #define _URCU_ARCH_ALPHA_H | |
7 | ||
8 | /* | |
9 | * arch_alpha.h: trivial definitions for the Alpha architecture. | |
6f9d9b49 PB |
10 | */ |
11 | ||
12 | #include <urcu/compiler.h> | |
13 | #include <urcu/config.h> | |
999991c6 | 14 | #include <urcu/syscall-compat.h> |
6f9d9b49 PB |
15 | |
16 | #ifdef __cplusplus | |
17 | extern "C" { | |
18 | #endif | |
19 | ||
e51500ed MD |
20 | #define cmm_mb() __asm__ __volatile__ ("mb":::"memory") |
21 | #define cmm_wmb() __asm__ __volatile__ ("wmb":::"memory") | |
22 | #define cmm_read_barrier_depends() __asm__ __volatile__ ("mb":::"memory") | |
6f9d9b49 | 23 | |
192ea849 MJ |
24 | /* |
25 | * On Linux, define the membarrier system call number if not yet available in | |
26 | * the system headers. | |
27 | */ | |
28 | #if (defined(__linux__) && !defined(__NR_membarrier)) | |
29 | #define __NR_membarrier 517 | |
30 | #endif | |
31 | ||
6f9d9b49 PB |
32 | #ifdef __cplusplus |
33 | } | |
34 | #endif | |
35 | ||
1b9119f8 | 36 | #include <urcu/arch/generic.h> |
6f9d9b49 PB |
37 | |
38 | #endif /* _URCU_ARCH_ALPHA_H */ |