From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id F3540A04B1; Tue, 29 Sep 2020 15:38:34 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D99AB1D669; Tue, 29 Sep 2020 15:38:32 +0200 (CEST) Received: from EUR03-DB5-obe.outbound.protection.outlook.com (mail-eopbgr40069.outbound.protection.outlook.com [40.107.4.69]) by dpdk.org (Postfix) with ESMTP id 2EB011BFD1 for ; Tue, 29 Sep 2020 15:38:29 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fPKFdGDjKW5l21dRFK0nMMaCcz5GaM/nKkLYwhLKVfA=; b=kywA81Wfz6tD5tDKZ7nqOYUbq2eIiN/A/Imgx19n7Gm18tids/3nyjL/EPT+mudES8EgVjny1T+O5zyHXnszzuRLTVZTS675z3dhWgXmo/w+nqiVi2mUqk2kITsZmUMBZexYrFHc9cttiSUIqPhgMNT76NeBcBYY32TMZMrDxog= Received: from MR2P264CA0032.FRAP264.PROD.OUTLOOK.COM (2603:10a6:500::20) by HE1PR0801MB1676.eurprd08.prod.outlook.com (2603:10a6:3:81::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.26; Tue, 29 Sep 2020 13:38:22 +0000 Received: from VE1EUR03FT053.eop-EUR03.prod.protection.outlook.com (2603:10a6:500:0:cafe::66) by MR2P264CA0032.outlook.office365.com (2603:10a6:500::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3433.32 via Frontend Transport; Tue, 29 Sep 2020 13:38:22 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; dpdk.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;dpdk.org; dmarc=bestguesspass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT053.mail.protection.outlook.com (10.152.19.198) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3412.21 via Frontend Transport; Tue, 29 Sep 2020 13:38:21 +0000 Received: ("Tessian outbound 7161e0c2a082:v64"); Tue, 29 Sep 2020 13:38:20 +0000 X-CR-MTA-TID: 64aa7808 Received: from f882d5db5145.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id 3571F4CD-C350-43FC-A590-B51DC86826B0.1; Tue, 29 Sep 2020 13:38:14 +0000 Received: from EUR01-HE1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id f882d5db5145.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Tue, 29 Sep 2020 13:38:14 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FF68btKZ5B6sBIpJDJKQ9OduCvs+dLTq+ogbAfs0SpM+S3zzctgnZPitkpZgeZjEnkecGyjs+rwFIasuzcJtuQE902LkilU1f16DwHb9RQqqn4Woi7MzTC2i+80jUnUrJ7+ozpgMo/XmiD/BASMS9I9LmZZ7HnvlDZdYKst1PzI8YYWn1fOMnQL3BVUcNMGC8DIZQ85/5IhFiSA7WmOf1x7cJ/sh2ULWoghMK6s4A1eTD6mD4TmLIBRqw1TbG2EBmy9++q/nhYhyhK3H2dEIa5CTnRk1EwpozrahrF/0qPY+KgAB3D40RJvcBOwDYeBv//meRDJ8WSK7OTHY/UQ5SQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fPKFdGDjKW5l21dRFK0nMMaCcz5GaM/nKkLYwhLKVfA=; b=OysN50d3UOacfFlUqUNffWiB4aRtMKajnmFSNMrd0rrVmNCa3T9CbsNAySKKM4J0z/3erRy22hkcTcovjaxKzBM9JeNXabh2wE26a8Gi7PMqrOiOTVIG8hmUD1wTrxjvYU0/OFE4zv+9xClPWmw7GQsAy0VnSJA1ZUjudj93EvpTPQWNv/YMSe4PQ14HjMjpnRyuVCw2eGGeJd7rIukGbfS/Jo8/UeEnz8ukI19MFEuE9pLqcb1lZRc6jM5M5KfHbAsNllG2h+Lpe++ETDV5yEOv+SeIwAZ+YQ1iNbUjqmyxQ+wFQLapedhoEMjK6paCdt9FYN3WdBBTnes0Qh3rBg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fPKFdGDjKW5l21dRFK0nMMaCcz5GaM/nKkLYwhLKVfA=; b=kywA81Wfz6tD5tDKZ7nqOYUbq2eIiN/A/Imgx19n7Gm18tids/3nyjL/EPT+mudES8EgVjny1T+O5zyHXnszzuRLTVZTS675z3dhWgXmo/w+nqiVi2mUqk2kITsZmUMBZexYrFHc9cttiSUIqPhgMNT76NeBcBYY32TMZMrDxog= Received: from VI1PR0802MB2351.eurprd08.prod.outlook.com (2603:10a6:800:a0::10) by VI1PR0802MB2351.eurprd08.prod.outlook.com (2603:10a6:800:a0::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3433.32; Tue, 29 Sep 2020 13:38:08 +0000 Received: from VI1PR0802MB2351.eurprd08.prod.outlook.com ([fe80::14d4:6ade:368a:204b]) by VI1PR0802MB2351.eurprd08.prod.outlook.com ([fe80::14d4:6ade:368a:204b%3]) with mapi id 15.20.3433.032; Tue, 29 Sep 2020 13:38:08 +0000 From: Ruifeng Wang To: "jerinj@marvell.com" CC: "dev@dpdk.org" , Honnappa Nagarahalli , Phil Yang , nd , Bruce Richardson , Vladimir Medvedkin , "thomas@monjalon.net" , "hemant.agrawal@nxp.com" , "Sachin.saxena@nxp.com" , Wei Zhao , Maxime Coquelin , Chenbo Xia , Zhihong Wang , Konstantin Ananyev , Jan Viktorin , Jeff Guo , nd Thread-Topic: [PATCH v1] config: remap flags used for Arm platforms Thread-Index: AQHWiFH/n9rxj9ZBaEmEbNZTFCcJ96l/uEVg Date: Tue, 29 Sep 2020 13:38:08 +0000 Message-ID: References: <20200911153959.204042-1-ruifeng.wang@arm.com> In-Reply-To: <20200911153959.204042-1-ruifeng.wang@arm.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: F6E97812B3C80E4FA44FFBE878F352A2.0 x-checkrecipientchecked: true Authentication-Results-Original: marvell.com; dkim=none (message not signed) header.d=none;marvell.com; dmarc=none action=none header.from=arm.com; x-originating-ip: [180.164.237.73] x-ms-publictraffictype: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 0c2c6a12-f18a-4318-b526-08d8647ceef5 x-ms-traffictypediagnostic: VI1PR0802MB2351:|HE1PR0801MB1676: x-ld-processed: f34e5979-57d9-4aaa-ad4d-b122a662184d,ExtAddr x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true nodisclaimer: true x-ms-oob-tlc-oobclassifiers: OLM:10000;OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: a88B9ZHf+NB1dSkL9RhYOGM9Dc+lbmSZYufwQ2rmWNDTPIqQyM5EQ/dESyg5goBYZLMcr9MjUo2Y1nLyq7QJ3h5ivdPU5t1ptFaQMWM6UdGd7peF4iyHHAABgXwMDv2GMENo9q0cwwCwe5LCPG8OKvb9FmLGKxrib4KZnn4KbuxRj6bgtx9ZyeGUc0OBZXQmQkPC7hWyIkyVaZjw6txLqOpEu3vyUQLrst617mE+kvSKhC9VI0PM1WfHUk5T8bLS5gqmSRbq4Te88Ul2hyUH6xvMS6oykjGh/JnGuV6+IWBO+O5NyjiIUYlnTa+jlOveJGaWFp9RzmULS50c1cgVlyqEXZUbV1qvPxD8hV8Im6VCCqFzIYqBcMdgC8UoIBUpGlRR4/Kv9Jp7Iqm4tRVKAyPNdh2X3Pa0JDUjcgoAu5dwud3b51Ai10x/RX5yHtkhpNd8hTWmqFdcf4IjodJ93Q== X-Forefront-Antispam-Report-Untrusted: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI1PR0802MB2351.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(136003)(366004)(396003)(39850400004)(346002)(33656002)(7416002)(66946007)(2906002)(76116006)(66476007)(66556008)(64756008)(66446008)(8676002)(86362001)(71200400001)(9686003)(186003)(55016002)(26005)(316002)(54906003)(966005)(6916009)(6506007)(30864003)(83380400001)(7696005)(4326008)(8936002)(53546011)(52536014)(83080400001)(478600001)(5660300002)(473944003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: BtNiEYZQPecFMhcMAzihAuE1YesiPmUX0Fv/jiCCCOvUF0UcZD9YP1oulbdLSZKVasWs57liQp3tJGHuuppwBT6pR0uzNd/TztAcM+ksnPtA/1nVDlHAY57wJQkfE+5ubukbdnmUq36tyFbceKNF946WjnrdbVa7IlXFgTl1eaQ9lNvRHLgXzpqO7ziiJSl4Qkl3Ujb2a+D36c+hpGcoXwZmPOi/ALeq5v0qVqVPE8JVK3a/LSVi1q667vwrursN0SFhLxt3WljMs9ZuQDGCBZC510EHZCjFHAYKZPrHu9d5DEaxM8zMO9AC9Tleki2kG5f60rHt1yG4fUNXvFJ6Km2JZsoLkNWmdpqilwqmOUeWEPSmVPGmizRY8nMP4IBguGfUknurDlbZen/yRcjhgtygSBJ6c5KScFo3bpI4ZX+lVHNC2STs9cydLtg3OS+uo1WecgJR3NckjIeQSwkwf5ZAfnpn99Ubz6e8jS99nuNkxcExzhQLTf1EJMKrIcYxg6+1vioaqWVefyMo+s0A+7lEyVtnhaPVgpQyzOuxsk/qAhonXzXiz5fNSgkDliz7pTNqRSSzw6EJdQu9JSrni68AtPIls2ggobsANP67AwJNwn4cS0PM5D1wIa3aTpabzW/T5zbbBUafJHkpOe2VmQ== Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0802MB2351 Original-Authentication-Results: marvell.com; dkim=none (message not signed) header.d=none;marvell.com; dmarc=none action=none header.from=arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT053.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: c4eb7e6a-2e1d-4ccb-fa48-08d8647ce6fb X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: +bLbl1PzDIPGkWuqm0jV9mtXsiQZu4/4bs75uNOdLkSqePXiYRF7148HKudlXFLXpr/GCNvrZs58JqP/TpOJxaugIbagOfdCiserdwTprOdIkFE2rweRK07vsQ4fyE8n0Rl5gCwqJ724cpMRJ5LLvi7UewnEUcR6ocIcU46Pzw2fBJQt4aPOKV6wO0L4hvDArf/TZOaO0zcvE9sFjUSFYxbpbhiNqp3A41Dlsbsuuf9Bmv4halNvfWw4OtP54e670E+cG0dvUMZHBoDR+dGvqtfybv+ZL5sVF44mlkR9rL5JAdSZXHVqrxelLLjlEKl+EuFT34pync7puZ6BcPrTlBQmh57Y4F0pzQNsQnX5F9p2VRqi9oLG62YNFKj2wx0wgwP8euh2w++9i4lRUtUD9GkD3X3OEdLuZoHo5N0n20yvIE4+0pkWwm7Ok99bRHn2yOEF/riNGl7wa0ntVqr+qbrHtV2L0GGUJkChbPyGwjr2har3OnOpUn17C5JUzSuioJCpfRy5/mVaOTLQE1l1/hievDVdYZe4J36pXLy6JDk= X-Forefront-Antispam-Report: CIP:63.35.35.123; CTRY:IE; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:64aa7808-outbound-1.mta.getcheckrecipient.com; PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com; CAT:NONE; SFS:(4636009)(136003)(396003)(346002)(376002)(39850400004)(46966005)(5660300002)(83380400001)(478600001)(54906003)(81166007)(186003)(316002)(356005)(6506007)(53546011)(36906005)(7696005)(70586007)(70206006)(86362001)(52536014)(33656002)(336012)(82740400003)(30864003)(2906002)(26005)(47076004)(82310400003)(966005)(8936002)(4326008)(8676002)(9686003)(55016002)(6862004)(473944003); DIR:OUT; SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Sep 2020 13:38:21.9248 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0c2c6a12-f18a-4318-b526-08d8647ceef5 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d; Ip=[63.35.35.123]; Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT053.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0801MB1676 Subject: Re: [dpdk-dev] [PATCH v1] config: remap flags used for Arm platforms X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" Hi Jerin, Do you have any comments on this change? Thanks. /Ruifeng > -----Original Message----- > From: Ruifeng Wang > Sent: Friday, September 11, 2020 11:40 PM > To: Bruce Richardson ; Vladimir Medvedkin > ; thomas@monjalon.net; > hemant.agrawal@nxp.com; Sachin.saxena@nxp.com; Wei Zhao > ; Jeff Guo ; Maxime Coquelin > ; Chenbo Xia ; > Zhihong Wang ; Konstantin Ananyev > ; Jan Viktorin ; > Ruifeng Wang > Cc: dev@dpdk.org; jerinj@marvell.com; Honnappa Nagarahalli > ; Phil Yang ; nd > > Subject: [PATCH v1] config: remap flags used for Arm platforms >=20 > RTE_ARCH_xx flags are used to distinguish platform architectures. > These flags can be used to pick different code paths for different > architectures at compile time. > For Arm platforms, there are 3 flags in use: RTE_ARCH_ARM, > RTE_ARCH_ARMv7 and RTE_ARCH_ARM64. > RTE_ARCH_ARM64 is for 64-bit aarch64 platforms, and RTE_ARCH_ARM & > RTE_ARCH_ARMv7 are for 32-bit platforms. > RTE_ARCH_ARMv7 is for ARMv7 platforms as its name suggested. >=20 > The issue is meaning of RTE_ARCH_ARM is not clear enough. > Because no info about platform word length is included in the name. > To make the flag names more clear, a naming scheme is proposed. >=20 > RTE_ARCH_ARM (all Arm platforms) > | > +----RTE_ARCH_32 (New. 32-bit platforms of all architectures) > | | > | +----RTE_ARCH_ARMv7 (ARMv7 platforms) > | | > | +----RTE_ARCH_ARMv8_AARCH32 (aarch32 state on aarch64 machin= e) > | > +----RTE_ARCH_64 (64-bit platforms of all architectures) > | > +----RTE_ARCH_ARM64 (64-bit Arm platforms) >=20 > RTE_ARCH_32 will be explicitly defined for 32-bit platforms. >=20 > To fit into the new naming scheme, current usage of RTE_ARCH_ARM in > project is mapped to (RTE_ARCH_ARM && RTE_ARCH_32). >=20 > Matching flags for other architectures are: > RTE_ARCH_X86 > | > +----RTE_ARCH_32 > | | > | +----RTE_ARCH_I686 > | | > | +----RTE_ARCH_X86_X32 > | > +----RTE_ARCH_64 > | > +----RTE_ARCH_X86_64 >=20 > RTE_ARCH_PPC_64 ---- RTE_ARCH_64 >=20 > Signed-off-by: Ruifeng Wang > Reviewed-by: Phil Yang > --- > This was converted from RFC patch: > http://patches.dpdk.org/patch/75543/ >=20 > app/test/test_cpuflags.c | 2 +- > app/test/test_xmmt_ops.h | 2 +- > config/arm/meson.build | 4 ++-- > config/meson.build | 1 + > drivers/bus/fslmc/qbman/qbman_sys_decl.h | 7 ++++--- > drivers/common/dpaax/compat.h | 6 ++++-- > drivers/net/ixgbe/ixgbe_rxtx.h | 4 ++-- > drivers/net/virtio/virtio_ethdev.c | 2 +- > lib/librte_acl/meson.build | 2 +- > lib/librte_acl/rte_acl.c | 2 -- > lib/librte_eal/arm/include/rte_vect.h | 4 ++-- > lib/librte_eal/common/eal_internal_cfg.h | 2 +- > lib/librte_lpm/rte_lpm.h | 2 +- > 13 files changed, 21 insertions(+), 19 deletions(-) >=20 > diff --git a/app/test/test_cpuflags.c b/app/test/test_cpuflags.c index > 06718631f..2efa9545d 100644 > --- a/app/test/test_cpuflags.c > +++ b/app/test/test_cpuflags.c > @@ -86,7 +86,7 @@ test_cpuflags(void) > CHECK_FOR_FLAG(RTE_CPUFLAG_ICACHE_SNOOP); > #endif >=20 > -#if defined(RTE_ARCH_ARM) > +#if defined(RTE_ARCH_ARM) && defined(RTE_ARCH_32) > printf("Check for NEON:\t\t"); > CHECK_FOR_FLAG(RTE_CPUFLAG_NEON); > #endif > diff --git a/app/test/test_xmmt_ops.h b/app/test/test_xmmt_ops.h index > 8bcf0b261..3a82d5eca 100644 > --- a/app/test/test_xmmt_ops.h > +++ b/app/test/test_xmmt_ops.h > @@ -7,7 +7,7 @@ >=20 > #include >=20 > -#if defined(RTE_ARCH_ARM) || defined(RTE_ARCH_ARM64) > +#if defined(RTE_ARCH_ARM) >=20 > /* vect_* abstraction implementation using NEON */ >=20 > diff --git a/config/arm/meson.build b/config/arm/meson.build index > 8728051d5..c7ec8cace 100644 > --- a/config/arm/meson.build > +++ b/config/arm/meson.build > @@ -128,11 +128,11 @@ impl_0x56 =3D ['Marvell ARMADA', flags_armada, > machine_args_generic] > impl_0x69 =3D ['Intel', flags_generic, machine_args_generic] impl_dpaa = =3D > ['NXP DPAA', flags_dpaa, machine_args_generic] >=20 > +dpdk_conf.set('RTE_ARCH_ARM', 1) > dpdk_conf.set('RTE_FORCE_INTRINSICS', 1) >=20 > -if not dpdk_conf.get('RTE_ARCH_64') > +if dpdk_conf.get('RTE_ARCH_32') > dpdk_conf.set('RTE_CACHE_LINE_SIZE', 64) > - dpdk_conf.set('RTE_ARCH_ARM', 1) > dpdk_conf.set('RTE_ARCH_ARMv7', 1) > # the minimum architecture supported, armv7-a, needs the following, > # mk/machine/armv7a/rte.vars.mk sets it too diff --git > a/config/meson.build b/config/meson.build index cff8b33dd..617d13b4c > 100644 > --- a/config/meson.build > +++ b/config/meson.build > @@ -107,6 +107,7 @@ dpdk_conf.set_quoted('RTE_TOOLCHAIN', toolchain) > dpdk_conf.set('RTE_TOOLCHAIN_' + toolchain.to_upper(), 1) >=20 > dpdk_conf.set('RTE_ARCH_64', cc.sizeof('void *') =3D=3D 8) > +dpdk_conf.set('RTE_ARCH_32', cc.sizeof('void *') =3D=3D 4) >=20 > if not is_windows > add_project_link_arguments('-Wl,--no-as-needed', language: 'c') diff > --git a/drivers/bus/fslmc/qbman/qbman_sys_decl.h > b/drivers/bus/fslmc/qbman/qbman_sys_decl.h > index a29f5b469..caaae4177 100644 > --- a/drivers/bus/fslmc/qbman/qbman_sys_decl.h > +++ b/drivers/bus/fslmc/qbman/qbman_sys_decl.h > @@ -18,7 +18,8 @@ > /****************/ > /* arch assists */ > /****************/ > -#if defined(RTE_ARCH_ARM64) > +#if defined(RTE_ARCH_ARM) > +#if defined(RTE_ARCH_64) > #define dcbz(p) { asm volatile("dc zva, %0" : : "r" (p) : "memory"); } = #define > lwsync() { asm volatile("dmb st" : : : "memory"); } #define dcbf(p) { as= m > volatile("dc cvac, %0" : : "r"(p) : "memory"); } @@ -32,14 +33,14 @@ stat= ic > inline void prefetch_for_store(void *p) { > asm volatile("prfm pstl1keep, [%0, #0]" : : "r" (p)); } -#elif > defined(RTE_ARCH_ARM) > +#else /* RTE_ARCH_32 */ > #define dcbz(p) memset(p, 0, 64) > #define lwsync() { asm volatile("dmb st" : : : "memory"); } > #define dcbf(p) RTE_SET_USED(p) > #define dccivac(p) RTE_SET_USED(p) > #define prefetch_for_load(p) { asm volatile ("pld [%0]" : : "r" (p)); } = #define > prefetch_for_store(p) { asm volatile ("pld [%0]" : : "r" (p)); } > - > +#endif > #else > #define dcbz(p) RTE_SET_USED(p) > #define lwsync() > diff --git a/drivers/common/dpaax/compat.h > b/drivers/common/dpaax/compat.h index 6793cb256..1a5f36e99 100644 > --- a/drivers/common/dpaax/compat.h > +++ b/drivers/common/dpaax/compat.h > @@ -150,7 +150,8 @@ static inline void out_be32(volatile void *__p, u32 v= al) > #define dcbt_ro(p) __builtin_prefetch(p, 0) #define dcbt_rw(p) > __builtin_prefetch(p, 1) >=20 > -#if defined(RTE_ARCH_ARM64) > +#if defined(RTE_ARCH_ARM) > +#if defined(RTE_ARCH_64) > #define dcbz(p) { asm volatile("dc zva, %0" : : "r" (p) : "memory"); } = #define > dcbz_64(p) dcbz(p) #define dcbf(p) { asm volatile("dc cvac, %0" : : "r"(= p) : > "memory"); } @@ -163,13 +164,14 @@ static inline void out_be32(volatile > void *__p, u32 val) > asm volatile("prfm pldl1keep, [%0, #64]" : : "r" (p)); \ > } while (0) >=20 > -#elif defined(RTE_ARCH_ARM) > +#else /* RTE_ARCH_32 */ > #define dcbz(p) memset((p), 0, 32) > #define dcbz_64(p) memset((p), 0, 64) > #define dcbf(p) RTE_SET_USED(p) > #define dcbf_64(p) dcbf(p) > #define dccivac(p) RTE_SET_USED(p) > #define dcbit_ro(p) RTE_SET_USED(p) > +#endif >=20 > #else > #define dcbz(p) RTE_SET_USED(p) > diff --git a/drivers/net/ixgbe/ixgbe_rxtx.h b/drivers/net/ixgbe/ixgbe_rxt= x.h > index 7e09291b2..0b5589ef4 100644 > --- a/drivers/net/ixgbe/ixgbe_rxtx.h > +++ b/drivers/net/ixgbe/ixgbe_rxtx.h > @@ -33,7 +33,7 @@ >=20 > #define RTE_IXGBE_DESCS_PER_LOOP 4 >=20 > -#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64) || > defined(RTE_ARCH_ARM) > +#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM) > #define RTE_IXGBE_RXQ_REARM_THRESH 32 > #define RTE_IXGBE_MAX_RX_BURST RTE_IXGBE_RXQ_REARM_THRESH > #endif > @@ -117,7 +117,7 @@ struct ixgbe_rx_queue { > uint8_t using_ipsec; > /**< indicates that IPsec RX feature is in use */ #endif -#if > defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM64) || > defined(RTE_ARCH_ARM) > +#if defined(RTE_ARCH_X86) || defined(RTE_ARCH_ARM) > uint16_t rxrearm_nb; /**< number of remaining to be re- > armed */ > uint16_t rxrearm_start; /**< the idx we start the re-arming > from */ > #endif > diff --git a/drivers/net/virtio/virtio_ethdev.c > b/drivers/net/virtio/virtio_ethdev.c > index dc0093bdf..405e9f608 100644 > --- a/drivers/net/virtio/virtio_ethdev.c > +++ b/drivers/net/virtio/virtio_ethdev.c > @@ -2337,7 +2337,7 @@ virtio_dev_configure(struct rte_eth_dev *dev) > } >=20 > if (hw->use_vec_rx) { > -#if defined RTE_ARCH_ARM64 || defined RTE_ARCH_ARM > +#if defined RTE_ARCH_ARM > if > (!rte_cpu_get_flag_enabled(RTE_CPUFLAG_NEON)) { > PMD_DRV_LOG(INFO, > "disabled split ring vectorized path for > requirement not met"); diff --git a/lib/librte_acl/meson.build > b/lib/librte_acl/meson.build index d1e2c184c..eadc17757 100644 > --- a/lib/librte_acl/meson.build > +++ b/lib/librte_acl/meson.build > @@ -27,7 +27,7 @@ if dpdk_conf.has('RTE_ARCH_X86') > cflags +=3D '-DCC_AVX2_SUPPORT' > endif >=20 > -elif dpdk_conf.has('RTE_ARCH_ARM') or > dpdk_conf.has('RTE_ARCH_ARM64') > +elif dpdk_conf.has('RTE_ARCH_ARM') > cflags +=3D '-flax-vector-conversions' > sources +=3D files('acl_run_neon.c') > elif dpdk_conf.has('RTE_ARCH_PPC_64') > diff --git a/lib/librte_acl/rte_acl.c b/lib/librte_acl/rte_acl.c index > 777ec4d34..e2c1ed4ad 100644 > --- a/lib/librte_acl/rte_acl.c > +++ b/lib/librte_acl/rte_acl.c > @@ -45,7 +45,6 @@ rte_acl_classify_sse(__rte_unused const struct > rte_acl_ctx *ctx, #endif >=20 > #ifndef RTE_ARCH_ARM > -#ifndef RTE_ARCH_ARM64 > int > rte_acl_classify_neon(__rte_unused const struct rte_acl_ctx *ctx, > __rte_unused const uint8_t **data, > @@ -56,7 +55,6 @@ rte_acl_classify_neon(__rte_unused const struct > rte_acl_ctx *ctx, > return -ENOTSUP; > } > #endif > -#endif >=20 > #ifndef RTE_ARCH_PPC_64 > int > diff --git a/lib/librte_eal/arm/include/rte_vect.h > b/lib/librte_eal/arm/include/rte_vect.h > index 01c51712a..f6a455b4e 100644 > --- a/lib/librte_eal/arm/include/rte_vect.h > +++ b/lib/librte_eal/arm/include/rte_vect.h > @@ -28,7 +28,7 @@ typedef union rte_xmm { > double pd[XMM_SIZE / sizeof(double)]; > } __rte_aligned(16) rte_xmm_t; >=20 > -#ifdef RTE_ARCH_ARM > +#if defined(RTE_ARCH_ARM) && defined(RTE_ARCH_32) > /* NEON intrinsic vqtbl1q_u8() is not supported in ARMv7-A(AArch32) */ > static __inline uint8x16_t vqtbl1q_u8(uint8x16_t a, uint8x16_t b) @@ -62= ,7 > +62,7 @@ vaddvq_u16(uint16x8_t a) >=20 > #endif >=20 > -#if defined(RTE_ARCH_ARM) || \ > +#if (defined(RTE_ARCH_ARM) && defined(RTE_ARCH_32)) || \ > (defined(RTE_ARCH_ARM64) && RTE_CC_IS_GNU && (GCC_VERSION < > 70000)) > /* NEON intrinsic vcopyq_laneq_u32() is not supported in ARMv7-A(AArch32= ) > * On AArch64, this intrinsic is supported since GCC version 7. > diff --git a/lib/librte_eal/common/eal_internal_cfg.h > b/lib/librte_eal/common/eal_internal_cfg.h > index 13f93388a..de627c762 100644 > --- a/lib/librte_eal/common/eal_internal_cfg.h > +++ b/lib/librte_eal/common/eal_internal_cfg.h > @@ -15,7 +15,7 @@ >=20 > #include "eal_thread.h" >=20 > -#if defined(RTE_ARCH_ARM) || defined(RTE_ARCH_ARM64) > +#if defined(RTE_ARCH_ARM) > #define MAX_HUGEPAGE_SIZES 4 /**< support up to 4 page sizes */ #else > #define MAX_HUGEPAGE_SIZES 3 /**< support up to 3 page sizes */ diff -- > git a/lib/librte_lpm/rte_lpm.h b/lib/librte_lpm/rte_lpm.h index > 03da2d37e..5b3b7b5b5 100644 > --- a/lib/librte_lpm/rte_lpm.h > +++ b/lib/librte_lpm/rte_lpm.h > @@ -420,7 +420,7 @@ static inline void > rte_lpm_lookupx4(const struct rte_lpm *lpm, xmm_t ip, uint32_t hop[4], > uint32_t defv); >=20 > -#if defined(RTE_ARCH_ARM) || defined(RTE_ARCH_ARM64) > +#if defined(RTE_ARCH_ARM) > #include "rte_lpm_neon.h" > #elif defined(RTE_ARCH_PPC_64) > #include "rte_lpm_altivec.h" > -- > 2.20.1