From owner-svn-src-projects@freebsd.org Mon Feb 19 12:25:32 2018 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id C427DF21E9F for ; Mon, 19 Feb 2018 12:25:32 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 76C32724D7; Mon, 19 Feb 2018 12:25:32 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 71B1B1A814; Mon, 19 Feb 2018 12:25:32 +0000 (UTC) (envelope-from hselasky@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id w1JCPWQ4058340; Mon, 19 Feb 2018 12:25:32 GMT (envelope-from hselasky@FreeBSD.org) Received: (from hselasky@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id w1JCPWkR058339; Mon, 19 Feb 2018 12:25:32 GMT (envelope-from hselasky@FreeBSD.org) Message-Id: <201802191225.w1JCPWkR058339@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: hselasky set sender to hselasky@FreeBSD.org using -f From: Hans Petter Selasky Date: Mon, 19 Feb 2018 12:25:32 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r329568 - projects/bsd_rdma_4_9_stable_11/contrib/ofed/include X-SVN-Group: projects X-SVN-Commit-Author: hselasky X-SVN-Commit-Paths: projects/bsd_rdma_4_9_stable_11/contrib/ofed/include X-SVN-Commit-Revision: 329568 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Feb 2018 12:25:33 -0000 Author: hselasky Date: Mon Feb 19 12:25:32 2018 New Revision: 329568 URL: https://svnweb.freebsd.org/changeset/base/329568 Log: MFC r326765: ofed: Define barriers for mips and arm. I used the strongest barriers available on the architectures, so if the future analysis show that it is excessive, the barriers could be relaxed. Still, it is unlikely that it is meaningful to run IB on 32bit ARM or current MIPS machines, so the change is to make WITH_OFED to pass tinderbox. Sponsored by: Mellanox Technologies Reviewed by: hselasky Differential revision: https://reviews.freebsd.org/D13329 Modified: projects/bsd_rdma_4_9_stable_11/contrib/ofed/include/udma_barrier.h Directory Properties: projects/bsd_rdma_4_9_stable_11/ (props changed) Modified: projects/bsd_rdma_4_9_stable_11/contrib/ofed/include/udma_barrier.h ============================================================================== --- projects/bsd_rdma_4_9_stable_11/contrib/ofed/include/udma_barrier.h Mon Feb 19 12:24:28 2018 (r329567) +++ projects/bsd_rdma_4_9_stable_11/contrib/ofed/include/udma_barrier.h Mon Feb 19 12:25:32 2018 (r329568) @@ -96,6 +96,14 @@ #define udma_to_device_barrier() asm volatile("dsb st" ::: "memory"); #elif defined(__sparc__) || defined(__s390x__) #define udma_to_device_barrier() asm volatile("" ::: "memory") +#elif defined(__mips__) +#include +#include +#define udma_to_device_barrier() mips_sync() +#elif defined(__arm__) +#include +#include +#define udma_to_device_barrier() dmb() #else #error No architecture specific memory barrier defines found! #endif @@ -128,6 +136,10 @@ #define udma_from_device_barrier() asm volatile("dsb ld" ::: "memory"); #elif defined(__sparc__) || defined(__s390x__) #define udma_from_device_barrier() asm volatile("" ::: "memory") +#elif defined(__mips__) +#define udma_from_device_barrier() mips_sync() +#elif defined(__arm__) +#define udma_from_device_barrier() dmb() #else #error No architecture specific memory barrier defines found! #endif @@ -192,6 +204,10 @@ #define mmio_flush_writes() asm volatile("dsb st" ::: "memory"); #elif defined(__sparc__) || defined(__s390x__) #define mmio_flush_writes() asm volatile("" ::: "memory") +#elif defined(__mips__) +#define mmio_flush_writes() mips_sync() +#elif defined(__arm__) +#define mmio_flush_writes() dmb() #else #error No architecture specific memory barrier defines found! #endif