From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 727AC43B62; Wed, 21 Feb 2024 21:20:39 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 298ED4067D; Wed, 21 Feb 2024 21:20:35 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id DD7C140698 for ; Wed, 21 Feb 2024 21:20:32 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id 41LHe4q4014835; Wed, 21 Feb 2024 12:20:28 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding:content-type; s= pfpt0220; bh=lY+AzVlPDXUEYeRnlhmu4wi+Ga9MP9cXb6XlGZXdE5g=; b=VsQ K2o5qj9svgqX7Ie8T/Yrv+V3PRc0D35eXKMRogaxsHqbSFDCDaKxklJeTkjutys1 RRZQTIxmOutjcBxxsMzucmUTKKvhYdmb/KR86ElMt8T4L15wCeeTBksyV1FGfU/i dU5NB3oVWm8r/EKnI83afol0ZwjNtzEjvc2t0iyVI6ZC9kkZUQNULHSCEseMxFvD LrTTKnZKru5t67sxdEA1NvUTQiTdVFTAuV5i+rSb3UnWnuQp7suryzANNt092GYK OOepqIjYcTknX05VyLabr8FXamO+qzyfFmWO+Oi/Wnc0DYR6abhvt/1HvIC4tGHs kJ45O1WJh4GA2yJRGQQ== Received: from dc5-exch02.marvell.com ([199.233.59.182]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3wdns38kcx-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Wed, 21 Feb 2024 12:20:28 -0800 (PST) Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Wed, 21 Feb 2024 12:20:26 -0800 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.48 via Frontend Transport; Wed, 21 Feb 2024 12:20:26 -0800 Received: from MININT-80QBFE8.corp.innovium.com (unknown [10.28.164.106]) by maili.marvell.com (Postfix) with ESMTP id 490C93F70A9; Wed, 21 Feb 2024 12:20:24 -0800 (PST) From: To: , , , , Ruifeng Wang , "Bruce Richardson" CC: , Pavan Nikhilesh Subject: [PATCH v4 2/3] config/arm: add support for fallback march Date: Thu, 22 Feb 2024 01:50:17 +0530 Message-ID: <20240221202018.14179-2-pbhagavatula@marvell.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240221202018.14179-1-pbhagavatula@marvell.com> References: <20240202085031.10237-1-pbhagavatula@marvell.com> <20240221202018.14179-1-pbhagavatula@marvell.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Proofpoint-GUID: mAjDjr9iJDglamRxvIX_IP-i-5mLlUfc X-Proofpoint-ORIG-GUID: mAjDjr9iJDglamRxvIX_IP-i-5mLlUfc X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-02-21_07,2024-02-21_02,2023-05-22_02 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: Pavan Nikhilesh Some ARM CPUs have specific march requirements and are not compatible with the supported march list. Add fallback march in case the mcpu and the march advertised in the part_number_config are not supported by the compiler. Example mcpu = neoverse-n2 march = armv9-a fallback_march = armv8.5-a mcpu, march not supported machine_args = ['-march=armv8.5-a'] mcpu, march, fallback_march not supported least march supported = armv8-a machine_args = ['-march=armv8-a'] Signed-off-by: Pavan Nikhilesh --- config/arm/meson.build | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/config/arm/meson.build b/config/arm/meson.build index e77b696d8e..f6521653c8 100644 --- a/config/arm/meson.build +++ b/config/arm/meson.build @@ -94,6 +94,7 @@ part_number_config_arm = { '0xd49': { 'march': 'armv9-a', 'march_features': ['sve2'], + 'fallback_march': 'armv8.5-a', 'mcpu': 'neoverse-n2', 'flags': [ ['RTE_MACHINE', '"neoverse-n2"'], @@ -716,6 +717,7 @@ if update_flags # probe supported archs and their features candidate_march = '' + fallback_march = '' if part_number_config.has_key('march') and candidate_mcpu == '' if part_number_config.get('force_march', false) if cc.has_argument('-march=' + part_number_config['march']) @@ -736,10 +738,18 @@ if update_flags # highest supported march version found break endif + if (part_number_config.has_key('fallback_march') and + supported_march == part_number_config['fallback_march'] and + cc.has_argument('-march=' + supported_march)) + fallback_march = supported_march + endif endforeach endif if candidate_march != part_number_config['march'] + if fallback_march != '' + candidate_march = fallback_march + endif warning('Configuration march version is @0@, not supported.' .format(part_number_config['march'])) if candidate_march != '' -- 2.25.1