From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Michael S. Tsirkin" Subject: [PATCH 16/34] powerpc: define __smp_XXX Date: Wed, 30 Dec 2015 15:25:23 +0200 Message-ID: <1451473761-30019-17-git-send-email-mst@redhat.com> References: <1451473761-30019-1-git-send-email-mst@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1451473761-30019-1-git-send-email-mst@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linuxppc-dev-bounces+glppe-linuxppc-embedded-2=m.gmane.org@lists.ozlabs.org Sender: "Linuxppc-dev" To: linux-kernel@vger.kernel.org Cc: linux-arch@vger.kernel.org, Arnd Bergmann , Stefano Stabellini , Peter Zijlstra , Andrew Cooper , Andrey Konovalov , virtualization@lists.linux-foundation.org, Paul Mackerras , "Paul E. McKenney" , linuxppc-dev@lists.ozlabs.org, Ingo Molnar List-Id: linux-arch.vger.kernel.org VGhpcyBkZWZpbmVzIF9fc21wX1hYWCBiYXJyaWVycyBmb3IgcG93ZXJwYwpmb3IgdXNlIGJ5IHZp cnR1YWxpemF0aW9uLgoKc21wX1hYWCBiYXJyaWVycyBhcmUgcmVtb3ZlZCBhcyB0aGV5IGFyZQpk ZWZpbmVkIGNvcnJlY3RseSBieSBhc20tZ2VuZXJpYy9iYXJyaWVycy5oCgpUaGlzIHJlZHVjZXMg dGhlIGFtb3VudCBvZiBhcmNoLXNwZWNpZmljIGJvaWxlci1wbGF0ZSBjb2RlLgoKU2lnbmVkLW9m Zi1ieTogTWljaGFlbCBTLiBUc2lya2luIDxtc3RAcmVkaGF0LmNvbT4KLS0tCiBhcmNoL3Bvd2Vy cGMvaW5jbHVkZS9hc20vYmFycmllci5oIHwgMjQgKysrKysrKystLS0tLS0tLS0tLS0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgOCBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9hcmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vYmFycmllci5oIGIvYXJjaC9wb3dlcnBjL2lu Y2x1ZGUvYXNtL2JhcnJpZXIuaAppbmRleCA5ODBhZDBjLi5jMGRlYWZjIDEwMDY0NAotLS0gYS9h cmNoL3Bvd2VycGMvaW5jbHVkZS9hc20vYmFycmllci5oCisrKyBiL2FyY2gvcG93ZXJwYy9pbmNs dWRlL2FzbS9iYXJyaWVyLmgKQEAgLTQ0LDE5ICs0NCwxMSBAQAogI2RlZmluZSBkbWFfcm1iKCkJ X19sd3N5bmMoKQogI2RlZmluZSBkbWFfd21iKCkJX19hc21fXyBfX3ZvbGF0aWxlX18gKHN0cmlu Z2lmeV9pbl9jKFNNUFdNQikgOiA6IDoibWVtb3J5IikKIAotI2lmZGVmIENPTkZJR19TTVAKLSNk ZWZpbmUgc21wX2x3c3luYygpCV9fbHdzeW5jKCkKKyNkZWZpbmUgX19zbXBfbHdzeW5jKCkJX19s d3N5bmMoKQogCi0jZGVmaW5lIHNtcF9tYigpCW1iKCkKLSNkZWZpbmUgc21wX3JtYigpCV9fbHdz eW5jKCkKLSNkZWZpbmUgc21wX3dtYigpCV9fYXNtX18gX192b2xhdGlsZV9fIChzdHJpbmdpZnlf aW5fYyhTTVBXTUIpIDogOiA6Im1lbW9yeSIpCi0jZWxzZQotI2RlZmluZSBzbXBfbHdzeW5jKCkJ YmFycmllcigpCi0KLSNkZWZpbmUgc21wX21iKCkJYmFycmllcigpCi0jZGVmaW5lIHNtcF9ybWIo KQliYXJyaWVyKCkKLSNkZWZpbmUgc21wX3dtYigpCWJhcnJpZXIoKQotI2VuZGlmIC8qIENPTkZJ R19TTVAgKi8KKyNkZWZpbmUgX19zbXBfbWIoKQltYigpCisjZGVmaW5lIF9fc21wX3JtYigpCV9f bHdzeW5jKCkKKyNkZWZpbmUgX19zbXBfd21iKCkJX19hc21fXyBfX3ZvbGF0aWxlX18gKHN0cmlu Z2lmeV9pbl9jKFNNUFdNQikgOiA6IDoibWVtb3J5IikKIAogLyoKICAqIFRoaXMgaXMgYSBiYXJy aWVyIHdoaWNoIHByZXZlbnRzIGZvbGxvd2luZyBpbnN0cnVjdGlvbnMgZnJvbSBiZWluZwpAQCAt NjcsMTggKzU5LDE4IEBACiAjZGVmaW5lIGRhdGFfYmFycmllcih4KQlcCiAJYXNtIHZvbGF0aWxl KCJ0d2kgMCwlMCwwOyBpc3luYyIgOiA6ICJyIiAoeCkgOiAibWVtb3J5Iik7CiAKLSNkZWZpbmUg c21wX3N0b3JlX3JlbGVhc2UocCwgdikJCQkJCQlcCisjZGVmaW5lIF9fc21wX3N0b3JlX3JlbGVh c2UocCwgdikJCQkJCQlcCiBkbyB7CQkJCQkJCQkJXAogCWNvbXBpbGV0aW1lX2Fzc2VydF9hdG9t aWNfdHlwZSgqcCk7CQkJCVwKLQlzbXBfbHdzeW5jKCk7CQkJCQkJCVwKKwlfX3NtcF9sd3N5bmMo KTsJCQkJCQkJXAogCVdSSVRFX09OQ0UoKnAsIHYpOwkJCQkJCVwKIH0gd2hpbGUgKDApCiAKLSNk ZWZpbmUgc21wX2xvYWRfYWNxdWlyZShwKQkJCQkJCVwKKyNkZWZpbmUgX19zbXBfbG9hZF9hY3F1 aXJlKHApCQkJCQkJXAogKHsJCQkJCQkJCQlcCiAJdHlwZW9mKCpwKSBfX19wMSA9IFJFQURfT05D RSgqcCk7CQkJCVwKIAljb21waWxldGltZV9hc3NlcnRfYXRvbWljX3R5cGUoKnApOwkJCQlcCi0J c21wX2x3c3luYygpOwkJCQkJCQlcCisJX19zbXBfbHdzeW5jKCk7CQkJCQkJCVwKIAlfX19wMTsJ CQkJCQkJCVwKIH0pCiAKLS0gCk1TVAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KTGludXhwcGMtZGV2IG1haWxpbmcgbGlzdApMaW51eHBwYy1kZXZAbGlz dHMub3psYWJzLm9yZwpodHRwczovL2xpc3RzLm96bGFicy5vcmcvbGlzdGluZm8vbGludXhwcGMt ZGV2 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx1.redhat.com ([209.132.183.28]:39669 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754465AbbL3Tfr (ORCPT ); Wed, 30 Dec 2015 14:35:47 -0500 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (Postfix) with ESMTPS id 1FEC68F506 for ; Wed, 30 Dec 2015 19:35:45 +0000 (UTC) Received: from redhat.com (vpn1-6-186.ams2.redhat.com [10.36.6.186]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with SMTP id tBUJZh3O011751 for ; Wed, 30 Dec 2015 14:35:44 -0500 Date: Wed, 30 Dec 2015 15:25:23 +0200 From: "Michael S. Tsirkin" Subject: [PATCH 16/34] powerpc: define __smp_xxx Message-ID: <1451473761-30019-17-git-send-email-mst@redhat.com> References: <1451473761-30019-1-git-send-email-mst@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1451473761-30019-1-git-send-email-mst@redhat.com> Sender: linux-arch-owner@vger.kernel.org List-ID: To: linux-kernel@vger.kernel.org Cc: Peter Zijlstra , Arnd Bergmann , linux-arch@vger.kernel.org, Andrew Cooper , virtualization@lists.linux-foundation.org, Stefano Stabellini , Benjamin Herrenschmidt , Paul Mackerras , Michael Ellerman , Ingo Molnar , "Paul E. McKenney" , Andrey Konovalov , linuxppc-dev@lists.ozlabs.org Message-ID: <20151230132523.v5K3nsNCoQB-cLlKKX_cL0QEUeeHxF0UTA7GiFg5avA@z> This defines __smp_XXX barriers for powerpc for use by virtualization. smp_XXX barriers are removed as they are defined correctly by asm-generic/barriers.h This reduces the amount of arch-specific boiler-plate code. Signed-off-by: Michael S. Tsirkin --- arch/powerpc/include/asm/barrier.h | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/arch/powerpc/include/asm/barrier.h b/arch/powerpc/include/asm/barrier.h index 980ad0c..c0deafc 100644 --- a/arch/powerpc/include/asm/barrier.h +++ b/arch/powerpc/include/asm/barrier.h @@ -44,19 +44,11 @@ #define dma_rmb() __lwsync() #define dma_wmb() __asm__ __volatile__ (stringify_in_c(SMPWMB) : : :"memory") -#ifdef CONFIG_SMP -#define smp_lwsync() __lwsync() +#define __smp_lwsync() __lwsync() -#define smp_mb() mb() -#define smp_rmb() __lwsync() -#define smp_wmb() __asm__ __volatile__ (stringify_in_c(SMPWMB) : : :"memory") -#else -#define smp_lwsync() barrier() - -#define smp_mb() barrier() -#define smp_rmb() barrier() -#define smp_wmb() barrier() -#endif /* CONFIG_SMP */ +#define __smp_mb() mb() +#define __smp_rmb() __lwsync() +#define __smp_wmb() __asm__ __volatile__ (stringify_in_c(SMPWMB) : : :"memory") /* * This is a barrier which prevents following instructions from being @@ -67,18 +59,18 @@ #define data_barrier(x) \ asm volatile("twi 0,%0,0; isync" : : "r" (x) : "memory"); -#define smp_store_release(p, v) \ +#define __smp_store_release(p, v) \ do { \ compiletime_assert_atomic_type(*p); \ - smp_lwsync(); \ + __smp_lwsync(); \ WRITE_ONCE(*p, v); \ } while (0) -#define smp_load_acquire(p) \ +#define __smp_load_acquire(p) \ ({ \ typeof(*p) ___p1 = READ_ONCE(*p); \ compiletime_assert_atomic_type(*p); \ - smp_lwsync(); \ + __smp_lwsync(); \ ___p1; \ }) -- MST