aarch64: Implement caa_cpu_relax as yield instruction
[userspace-rcu.git] / include / urcu / uatomic / gcc.h
1 #ifndef _URCU_ARCH_UATOMIC_GCC_H
2 #define _URCU_ARCH_UATOMIC_GCC_H
3
4 /*
5 * Copyright (c) 1991-1994 by Xerox Corporation. All rights reserved.
6 * Copyright (c) 1996-1999 by Silicon Graphics. All rights reserved.
7 * Copyright (c) 1999-2004 Hewlett-Packard Development Company, L.P.
8 * Copyright (c) 2009 Mathieu Desnoyers
9 * Copyright (c) 2010 Paul E. McKenney, IBM Corporation
10 * (Adapted from uatomic_arch_ppc.h)
11 *
12 * THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
13 * OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
14 *
15 * Permission is hereby granted to use or copy this program
16 * for any purpose, provided the above notices are retained on all copies.
17 * Permission to modify the code and to distribute modified code is granted,
18 * provided the above notices are retained, and a notice that the code was
19 * modified is included with the above copyright notice.
20 *
21 * Code inspired from libuatomic_ops-1.2, inherited in part from the
22 * Boehm-Demers-Weiser conservative garbage collector.
23 */
24
25 #include <urcu/compiler.h>
26 #include <urcu/system.h>
27
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31
32 /*
33 * If your platform doesn't have a full set of atomics, you will need
34 * a separate uatomic_arch_*.h file for your architecture. Otherwise,
35 * just rely on the definitions in uatomic/generic.h.
36 */
37 #define UATOMIC_HAS_ATOMIC_BYTE
38 #define UATOMIC_HAS_ATOMIC_SHORT
39
40 #ifdef __cplusplus
41 }
42 #endif
43
44 #include <urcu/uatomic/generic.h>
45
46 #endif /* _URCU_ARCH_UATOMIC_GCC_H */
This page took 0.030465 seconds and 4 git commands to generate.