From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by smtp.lore.kernel.org (Postfix) with ESMTP id C027AC433F5 for ; Mon, 17 Jan 2022 13:50:23 +0000 (UTC) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EB6FA411E1; Mon, 17 Jan 2022 14:50:22 +0100 (CET) Received: from smartserver.smartsharesystems.com (smartserver.smartsharesystems.com [77.243.40.215]) by mails.dpdk.org (Postfix) with ESMTP id A653A40141; Mon, 17 Jan 2022 14:50:21 +0100 (CET) Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="windows-1257" Content-Transfer-Encoding: quoted-printable Subject: RE: [PATCH] build: add missing arch define for Arm X-MimeOLE: Produced By Microsoft Exchange V6.5 Date: Mon, 17 Jan 2022 14:50:20 +0100 Message-ID: <98CBD80474FA8B44BF855DF32C47DC35D86E0C@smartserver.smartshare.dk> In-Reply-To: <794237e109494b63b45ba2ceb1f4b8f0@pantheon.tech> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH] build: add missing arch define for Arm Thread-Index: AQHX8yPNe2vaK5j9x0OFZNatsn3j/axhUCMAgAEEcgCABQRIoIAAEi7g References: <20211217085430.820773-1-ruifeng.wang@arm.com> <10596176.5MRjnR8RnV@thomas> <794237e109494b63b45ba2ceb1f4b8f0@pantheon.tech> From: =?windows-1257?Q?Morten_Br=B8rup?= To: =?windows-1257?Q?Juraj_Linke=F0?= , "Ruifeng Wang" , Cc: , , , , , "Honnappa Nagarahalli" , "nd" , "nd" 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 > From: Juraj Linke=F0 [mailto:juraj.linkes@pantheon.tech] > Sent: Monday, 17 January 2022 14.12 >=20 > > From: Ruifeng Wang > > Sent: Friday, January 14, 2022 10:05 AM > > > > > From: Thomas Monjalon > > > Sent: Friday, January 14, 2022 1:33 AM > > > > > > 17/12/2021 09:54, Ruifeng Wang: > > > > As per design document, RTE_ARCH is the name of the = architecture. > > > > However, the definition was missing on Arm with meson build. > > > > It impacts applications that refers to this string. > > > > > > > > Added for Arm builds. > > > > > > > > Fixes: b1d48c41189a ("build: support ARM with meson") > > > > Cc: stable@dpdk.org > > > > > > > > Signed-off-by: Ruifeng Wang > > > > --- > > > > ['RTE_ARCH_ARMv8_AARCH32', true], > > > > + ['RTE_ARCH', 'arm64_aarch32'], > > > > > > Why not armv8_aarch32? > > > > Thanks for the comments. > > Agreed. armv8_aarch32 is consistent with the RTE_ARCH_xx macro = above. > > > > > > > > [...] > > > > dpdk_conf.set('RTE_ARCH_ARMv7', true) > > > > + dpdk_conf.set('RTE_ARCH', 'armv7') > > > [...] > > > > # armv8 build > > > > + dpdk_conf.set('RTE_ARCH', 'arm64') > > > > > > Why not armv8? > > > > > > What I prefer the most in silicon industry is the naming craziness > :) > > > > While armv8 usually refers to one generation of the Arm = architecture, > arm64 is > > more generic for 64-bit architectures. > > And what defined for armv8 build is RTE_ARCH_ARM64. So for > consistency, > > arm64 is better? > > >=20 > Using armv8_aarch32 along with arm64 doesn't seem right. We should > unite these and I think armv8 makes sense. As you mentioned arvm8 is = an > arm64 architecture and using the more precise identification is better > in my opinion (as that gives more information). As for the consistency > with RTE_ARCH_ARM64, I think the problem is that we don't have the > RTE_ARCH_ARMv8 flag (which would provide the consistency, but won't be > used): > The current code is, accurately, written for 64bit arm architectures > (all of them). > There is currently no need to differentiate between 64bit arm > architectures which is why RTE_ARCH_ARMv8 doesn't exist. > However, armv8 exists and we know how to identify it which is why I > think setting RTE_ARCH to armv8 is the way to go. >=20 > So my thinking is RTE_ARCH should be set to armv8, which implies > RTE_ARCH_ARMv8 which in turn implies RTE_ARCH_ARM64. We're just = missing > the middle part since there's no use for it now. >=20 > And to be fully consistent, we could add RTE_ARCH_ARM32 to armv7 (as a > superset of RTE_ARCH_ARMv7, but that likely won't be of much use). >=20 DPDK already has the cross-platform RTE_ARCH_64 and RTE_ARCH_32 to = indicate 64/32 bit word size. You don't need ARM-specific versions of these!