summary refs log tree commit diff
path: root/linuxthreads/sysdeps/powerpc/powerpc64/pt-machine.h
diff options
context:
space:
mode:
Diffstat (limited to 'linuxthreads/sysdeps/powerpc/powerpc64/pt-machine.h')
-rw-r--r--linuxthreads/sysdeps/powerpc/powerpc64/pt-machine.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/linuxthreads/sysdeps/powerpc/powerpc64/pt-machine.h b/linuxthreads/sysdeps/powerpc/powerpc64/pt-machine.h
index f28e8080bb..ac3149581b 100644
--- a/linuxthreads/sysdeps/powerpc/powerpc64/pt-machine.h
+++ b/linuxthreads/sysdeps/powerpc/powerpc64/pt-machine.h
@@ -34,7 +34,9 @@ extern int __compare_and_swap (long int *p, long int oldval, long int newval);
 /* For multiprocessor systems, we want to ensure all memory accesses
    are completed before we reset a lock.  On other systems, we still
    need to make sure that the compiler has flushed everything to memory.  */
-#define MEMORY_BARRIER() __asm__ __volatile__ ("sync" : : : "memory")
+#define MEMORY_BARRIER() __asm__ __volatile__ ("lwsync" : : : "memory")
+#define READ_MEMORY_BARRIER() __asm__ __volatile__ ("lwsync" : : : "memory")
+#define WRITE_MEMORY_BARRIER() __asm__ __volatile__ ("eieio" : : : "memory")
 
 /* We want the OS to assign stack addresses.  */
 #define FLOATING_STACKS 1