index 821ad396f605590b0f81ef1f0e640fb14409f69b..f8032c34a65e931020da91d6aaaf4fba3ede735a 100644 (file)
* memory barrier needs to be issued inline rather than as a function
* call.
*
- * Most code should not use these.
- *
- * Anything that does include this file must set ANDROID_SMP to either
- * 0 or 1, indicating compilation for UP or SMP, respectively.
- *
* Macros defined in this header:
*
- * void ANDROID_MEMBAR_FULL(void)
+ * void ANDROID_MEMBAR_FULL()
* Full memory barrier. Provides a compiler reordering barrier, and
* on SMP systems emits an appropriate instruction.
*/
-#if !defined(ANDROID_SMP)
-# error "Must define ANDROID_SMP before including atomic-inline.h"
-#endif
-
#ifdef __cplusplus
extern "C" {
#endif
*/
#define __ATOMIC_INLINE__ static __inline__ __attribute__((always_inline))
-#ifdef __arm__
-# include <bionic_atomic_arm.h>
+#if defined(__arm__)
+# include "bionic_atomic_arm.h"
+#elif defined(__aarch64__)
+# include "bionic_atomic_arm64.h"
#elif defined(__i386__)
-# include <bionic_atomic_x86.h>
+# include "bionic_atomic_x86.h"
+#elif defined(__mips__)
+# include "bionic_atomic_mips.h"
#else
-# include <bionic_atomic_gcc_builtin.h>
+# include "bionic_atomic_gcc_builtin.h"
#endif
#define ANDROID_MEMBAR_FULL __bionic_memory_barrier