CVS commit: src/sys/external/bsd/common/include/asm
Module Name:src Committed By: jmcneill Date: Fri Oct 16 22:39:21 UTC 2020 Modified Files: src/sys/external/bsd/common/include/asm: barrier.h Log Message: Fix mb/wmb/rmb on aarch64 to use dsb instead of dmb. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/external/bsd/common/include/asm/barrier.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/external/bsd/common/include/asm/barrier.h diff -u src/sys/external/bsd/common/include/asm/barrier.h:1.4 src/sys/external/bsd/common/include/asm/barrier.h:1.5 --- src/sys/external/bsd/common/include/asm/barrier.h:1.4 Tue Aug 28 15:04:58 2018 +++ src/sys/external/bsd/common/include/asm/barrier.h Fri Oct 16 22:39:21 2020 @@ -1,4 +1,4 @@ -/* $NetBSD: barrier.h,v 1.4 2018/08/28 15:04:58 riastradh Exp $ */ +/* $NetBSD: barrier.h,v 1.5 2020/10/16 22:39:21 jmcneill Exp $ */ /*- * Copyright (c) 2013 The NetBSD Foundation, Inc. @@ -40,9 +40,15 @@ #define MULTIPROCESSOR 1 /* safer to assume multiprocessor */ #endif +#if defined(__aarch64__) +#define mb() __asm __volatile ("dsb sy" ::: "memory") +#define wmb() __asm __volatile ("dsb st" ::: "memory") +#define rmb() __asm __volatile ("dsb ld" ::: "memory") +#else #define mb membar_sync #define wmb membar_producer #define rmb membar_consumer +#endif #ifdef __alpha__ /* XXX As if... */ # define read_barrier_depends membar_sync @@ -51,9 +57,9 @@ #endif #ifdef MULTIPROCESSOR -# define smp_mbmb -# define smp_wmbwmb -# define smp_rmbrmb +# define smp_mbmembar_sync +# define smp_wmbmembar_producer +# define smp_rmbmembar_consumer # define smp_read_barrier_depends read_barrier_depends #else # define smp_mb() do {} while (0)
CVS commit: src/sys/external/bsd/common/include/asm
Module Name:src Committed By: riastradh Date: Tue Aug 28 15:04:58 UTC 2018 Modified Files: src/sys/external/bsd/common/include/asm: barrier.h Log Message: For module build assume multiprocessor. To generate a diff of this commit: cvs rdiff -u -r1.3 -r1.4 src/sys/external/bsd/common/include/asm/barrier.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/external/bsd/common/include/asm/barrier.h diff -u src/sys/external/bsd/common/include/asm/barrier.h:1.3 src/sys/external/bsd/common/include/asm/barrier.h:1.4 --- src/sys/external/bsd/common/include/asm/barrier.h:1.3 Mon Sep 11 07:33:45 2017 +++ src/sys/external/bsd/common/include/asm/barrier.h Tue Aug 28 15:04:58 2018 @@ -1,4 +1,4 @@ -/* $NetBSD: barrier.h,v 1.3 2017/09/11 07:33:45 maya Exp $ */ +/* $NetBSD: barrier.h,v 1.4 2018/08/28 15:04:58 riastradh Exp $ */ /*- * Copyright (c) 2013 The NetBSD Foundation, Inc. @@ -36,6 +36,8 @@ #ifdef _KERNEL_OPT #include "opt_multiprocessor.h" +#else +#define MULTIPROCESSOR 1 /* safer to assume multiprocessor */ #endif #define mb membar_sync
CVS commit: src/sys/external/bsd/common/include/asm
Module Name:src Committed By: maya Date: Mon Sep 11 05:22:10 UTC 2017 Modified Files: src/sys/external/bsd/common/include/asm: barrier.h Log Message: add dsb macro from vchiq To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/external/bsd/common/include/asm/barrier.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/external/bsd/common/include/asm/barrier.h diff -u src/sys/external/bsd/common/include/asm/barrier.h:1.1 src/sys/external/bsd/common/include/asm/barrier.h:1.2 --- src/sys/external/bsd/common/include/asm/barrier.h:1.1 Mon Sep 11 05:20:17 2017 +++ src/sys/external/bsd/common/include/asm/barrier.h Mon Sep 11 05:22:10 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: barrier.h,v 1.1 2017/09/11 05:20:17 maya Exp $ */ +/* $NetBSD: barrier.h,v 1.2 2017/09/11 05:22:10 maya Exp $ */ /*- * Copyright (c) 2013 The NetBSD Foundation, Inc. @@ -41,6 +41,7 @@ #define mb membar_sync #define wmb membar_producer #define rmb membar_consumer +#define dsb membar_producer #ifdef __alpha__ /* XXX As if... */ # define read_barrier_depends membar_sync