Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/common/lib/libc/arch/arm/atomic/membar_ops.S,v rcsdiff: /ftp/cvs/cvsroot/src/common/lib/libc/arch/arm/atomic/membar_ops.S,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.2 retrieving revision 1.2.24.1 diff -u -p -r1.2 -r1.2.24.1 --- src/common/lib/libc/arch/arm/atomic/membar_ops.S 2008/08/16 07:12:40 1.2 +++ src/common/lib/libc/arch/arm/atomic/membar_ops.S 2012/11/27 23:42:35 1.2.24.1 @@ -1,4 +1,4 @@ -/* $NetBSD: membar_ops.S,v 1.2 2008/08/16 07:12:40 matt Exp $ */ +/* $NetBSD: membar_ops.S,v 1.2.24.1 2012/11/27 23:42:35 matt Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. * All rights reserved. @@ -33,7 +33,11 @@ #ifdef _ARM_ARCH_6 ENTRY_NP(_membar_producer) +#ifdef _ARM_ARCH_7 + dsb +#else mcr p15, 0, r0, c7, c10, 4 /* Data Synchronization Barrier */ +#endif RET END(_membar_producer) ATOMIC_OP_ALIAS(membar_producer,_membar_producer) @@ -41,7 +45,11 @@ ATOMIC_OP_ALIAS(membar_write,_membar_pro STRONG_ALIAS(_membar_write,_membar_producer) ENTRY_NP(_membar_sync) +#ifdef _ARM_ARCH_7 + dmb +#else mcr p15, 0, r0, c7, c10, 5 /* Data Memory Barrier */ +#endif RET END(_membar_sync) ATOMIC_OP_ALIAS(membar_sync,_membar_sync)