1 // SPDX-FileCopyrightText: 2010 Paul E. McKenney, IBM Corporation.
2 // SPDX-FileCopyrightText: 2009-2015 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
4 // SPDX-License-Identifier: LGPL-2.1-or-later
6 #ifndef _URCU_ARCH_AARCH64_H
7 #define _URCU_ARCH_AARCH64_H
10 * arch/aarch64.h: definitions for aarch64 architecture
13 #include <urcu/compiler.h>
14 #include <urcu/config.h>
15 #include <urcu/syscall-compat.h>
25 * On Linux, define the membarrier system call number if not yet available in
26 * the system headers. aarch64 implements asm-generic/unistd.h system call
29 #if (defined(__linux__) && !defined(__NR_membarrier))
30 #define __NR_membarrier 283
34 * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63293
36 * Backported in RHEL7 gcc 4.8.5-11
38 #if defined(URCU_GCC_VERSION) && defined(__GNUC_RH_RELEASE__)
39 # if (URCU_GCC_VERSION == 40805) && (__GNUC_RH_RELEASE__ >= 11)
40 # define URCU_GCC_PATCHED_63293
44 #ifdef URCU_GCC_VERSION
45 # if URCU_GCC_VERSION < 50100 && !defined(URCU_GCC_PATCHED_63293)
46 # error Your gcc version performs unsafe access to deallocated stack
50 #define caa_cpu_relax() __asm__ __volatile__ ("yield" : : : "memory")
56 #include <urcu/arch/generic.h>
58 #endif /* _URCU_ARCH_AARCH64_H */
This page took 0.03152 seconds and 4 git commands to generate.