From patchwork Wed Jun 9 10:17:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Pfeiffer X-Patchwork-Id: 94052 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 497C0A0C46; Wed, 9 Jun 2021 12:18:27 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B66D240E3C; Wed, 9 Jun 2021 12:18:26 +0200 (CEST) Received: from smail.rz.tu-ilmenau.de (smail.rz.tu-ilmenau.de [141.24.186.67]) by mails.dpdk.org (Postfix) with ESMTP id 5B8DD4069B; Wed, 9 Jun 2021 12:18:25 +0200 (CEST) Received: from jaime.. (unknown [77.7.9.246]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smail.rz.tu-ilmenau.de (Postfix) with ESMTPSA id 3DF5E580074; Wed, 9 Jun 2021 12:18:24 +0200 (CEST) From: Michael Pfeiffer To: Jan Viktorin , Ruifeng Wang , Jerin Jacob Cc: dev@dpdk.org, Michael Pfeiffer , stable@dpdk.org, kosar@rehivetech.com, phil.yang@arm.com, joyce.kong@arm.com Date: Wed, 9 Jun 2021 12:17:55 +0200 Message-Id: <20210609101755.20769-1-michael.pfeiffer@tu-ilmenau.de> X-Mailer: git-send-email 2.32.0 In-Reply-To: References: MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v5] eal: arm: fix out of tree build X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Including various headers may fail for ARM builds with 'Platform must be built with RTE_FORCE_INTRINSICS' if rte_config.h is not included before. Move the error message after the includes to ensure rte_config.h is always included. Fixes: de966ccdcd7f ("eal/arm: add byte order operations for ARM") Fixes: 17d5fa0fa90d ("eal/arm: add atomic operations for ARMv7") Fixes: d708f01b7102 ("eal/arm: add atomic operations for ARMv8") Fixes: 2173f3333b61 ("mcslock: add MCS queued lock implementation") Fixes: 7860c3965483 ("eal/arm: add spinlock operations for ARM") Fixes: ca49b92079df ("ticketlock: enable generic ticketlock on all arch") Cc: stable@dpdk.org Cc: kosar@rehivetech.com Cc: phil.yang@arm.com Cc: joyce.kong@arm.com Signed-off-by: Michael Pfeiffer Acked-by: Ruifeng Wang Acked-by: Jerin Jacob --- v5: * Add Fixes: tag. v4: * Apply to fix to rte_atomic_{32,64}.h, rte_{mcs,spin,ticket}lock.h as well. * Remove unnecessary include of rte_config.h. * Adjust commit message. v3: * Proper in-reply-to. v2: * Fixed subject line. lib/eal/arm/include/rte_atomic_32.h | 8 ++++---- lib/eal/arm/include/rte_atomic_64.h | 8 ++++---- lib/eal/arm/include/rte_byteorder.h | 8 ++++---- lib/eal/arm/include/rte_mcslock.h | 8 ++++---- lib/eal/arm/include/rte_spinlock.h | 8 ++++---- lib/eal/arm/include/rte_ticketlock.h | 8 ++++---- 6 files changed, 24 insertions(+), 24 deletions(-) diff --git a/lib/eal/arm/include/rte_atomic_32.h b/lib/eal/arm/include/rte_atomic_32.h index c00ab78dba..138abd3a8b 100644 --- a/lib/eal/arm/include/rte_atomic_32.h +++ b/lib/eal/arm/include/rte_atomic_32.h @@ -5,16 +5,16 @@ #ifndef _RTE_ATOMIC_ARM32_H_ #define _RTE_ATOMIC_ARM32_H_ -#ifndef RTE_FORCE_INTRINSICS -# error Platform must be built with RTE_FORCE_INTRINSICS -#endif - #ifdef __cplusplus extern "C" { #endif #include "generic/rte_atomic.h" +#ifndef RTE_FORCE_INTRINSICS +# error Platform must be built with RTE_FORCE_INTRINSICS +#endif + #define rte_mb() __sync_synchronize() #define rte_wmb() do { asm volatile ("dmb st" : : : "memory"); } while (0) diff --git a/lib/eal/arm/include/rte_atomic_64.h b/lib/eal/arm/include/rte_atomic_64.h index fa6f334c0d..2907a95196 100644 --- a/lib/eal/arm/include/rte_atomic_64.h +++ b/lib/eal/arm/include/rte_atomic_64.h @@ -6,10 +6,6 @@ #ifndef _RTE_ATOMIC_ARM64_H_ #define _RTE_ATOMIC_ARM64_H_ -#ifndef RTE_FORCE_INTRINSICS -# error Platform must be built with RTE_FORCE_INTRINSICS -#endif - #ifdef __cplusplus extern "C" { #endif @@ -19,6 +15,10 @@ extern "C" { #include #include +#ifndef RTE_FORCE_INTRINSICS +# error Platform must be built with RTE_FORCE_INTRINSICS +#endif + #define rte_mb() asm volatile("dmb osh" : : : "memory") #define rte_wmb() asm volatile("dmb oshst" : : : "memory") diff --git a/lib/eal/arm/include/rte_byteorder.h b/lib/eal/arm/include/rte_byteorder.h index df2f1d87ba..c00bebf680 100644 --- a/lib/eal/arm/include/rte_byteorder.h +++ b/lib/eal/arm/include/rte_byteorder.h @@ -5,10 +5,6 @@ #ifndef _RTE_BYTEORDER_ARM_H_ #define _RTE_BYTEORDER_ARM_H_ -#ifndef RTE_FORCE_INTRINSICS -# error Platform must be built with RTE_FORCE_INTRINSICS -#endif - #ifdef __cplusplus extern "C" { #endif @@ -17,6 +13,10 @@ extern "C" { #include #include "generic/rte_byteorder.h" +#ifndef RTE_FORCE_INTRINSICS +# error Platform must be built with RTE_FORCE_INTRINSICS +#endif + /* fix missing __builtin_bswap16 for gcc older then 4.8 */ #if !(__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 8)) diff --git a/lib/eal/arm/include/rte_mcslock.h b/lib/eal/arm/include/rte_mcslock.h index 896d678073..915a3ed647 100644 --- a/lib/eal/arm/include/rte_mcslock.h +++ b/lib/eal/arm/include/rte_mcslock.h @@ -5,16 +5,16 @@ #ifndef _RTE_MCSLOCK_ARM_H_ #define _RTE_MCSLOCK_ARM_H_ -#ifndef RTE_FORCE_INTRINSICS -# error Platform must be built with RTE_FORCE_INTRINSICS -#endif - #ifdef __cplusplus extern "C" { #endif #include "generic/rte_mcslock.h" +#ifndef RTE_FORCE_INTRINSICS +# error Platform must be built with RTE_FORCE_INTRINSICS +#endif + #ifdef __cplusplus } #endif diff --git a/lib/eal/arm/include/rte_spinlock.h b/lib/eal/arm/include/rte_spinlock.h index a973763c23..e29ddab89a 100644 --- a/lib/eal/arm/include/rte_spinlock.h +++ b/lib/eal/arm/include/rte_spinlock.h @@ -5,10 +5,6 @@ #ifndef _RTE_SPINLOCK_ARM_H_ #define _RTE_SPINLOCK_ARM_H_ -#ifndef RTE_FORCE_INTRINSICS -# error Platform must be built with RTE_FORCE_INTRINSICS -#endif - #ifdef __cplusplus extern "C" { #endif @@ -16,6 +12,10 @@ extern "C" { #include #include "generic/rte_spinlock.h" +#ifndef RTE_FORCE_INTRINSICS +# error Platform must be built with RTE_FORCE_INTRINSICS +#endif + static inline int rte_tm_supported(void) { return 0; diff --git a/lib/eal/arm/include/rte_ticketlock.h b/lib/eal/arm/include/rte_ticketlock.h index e66beefbe2..22eb40fb66 100644 --- a/lib/eal/arm/include/rte_ticketlock.h +++ b/lib/eal/arm/include/rte_ticketlock.h @@ -5,16 +5,16 @@ #ifndef _RTE_TICKETLOCK_ARM_H_ #define _RTE_TICKETLOCK_ARM_H_ -#ifndef RTE_FORCE_INTRINSICS -# error Platform must be built with RTE_FORCE_INTRINSICS -#endif - #ifdef __cplusplus extern "C" { #endif #include "generic/rte_ticketlock.h" +#ifndef RTE_FORCE_INTRINSICS +# error Platform must be built with RTE_FORCE_INTRINSICS +#endif + #ifdef __cplusplus } #endif