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 2196843A4E; Fri, 2 Feb 2024 10:09:52 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E4E9A42E17; Fri, 2 Feb 2024 10:09:48 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id F2B8642DEB for ; Fri, 2 Feb 2024 10:09:46 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id 4121WIUe011029; Fri, 2 Feb 2024 01:09:44 -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=2GueWaYnco9gd8bkeiaMkJ+sZMnZt6EY+8bXAlmKTJc=; b=kaN gCJja5F66dmlFJASniiimi+lroXU2rFkkQTdO7c6H4EIDqlaD3CLhXeGaaqNVJGW qXODPB1s/CHqVlTc+BVIOUWQC/YjDYsWpejazwoYebUhlUxEq5FXM4iF3teYNWjW j8fPipKC6eS+fREV5XO6BImaY0H0dGttarhCq9xnw7y/unc8PSb3nCV5w9fbPml3 Dp4Jz+CIBnW0vrL+V68SwXb1C9OAi8mbL86SoM2yyZTBcWxBVMFL6uLHpf08MceJ icbU568kixGdyXVUpJubBgeeOMiZcZI+a0+zdjvY3ELe2QT7f6cVgqemz/lbIzHc ZZBYnHSOco5k+o62k6A== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3w0ptns355-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Fri, 02 Feb 2024 01:09:44 -0800 (PST) Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Fri, 2 Feb 2024 01:09:42 -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; Fri, 2 Feb 2024 01:09:42 -0800 Received: from MININT-80QBFE8.corp.innovium.com (MININT-80QBFE8.marvell.com [10.28.164.106]) by maili.marvell.com (Postfix) with ESMTP id 1EA4D5C693F; Fri, 2 Feb 2024 00:50:35 -0800 (PST) From: To: , , , "Ruifeng Wang" , Bruce Richardson CC: , Pavan Nikhilesh Subject: [PATCH v3 2/3] config/arm: add support for fallback march Date: Fri, 2 Feb 2024 14:20:30 +0530 Message-ID: <20240202085031.10237-2-pbhagavatula@marvell.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240202085031.10237-1-pbhagavatula@marvell.com> References: <20240201215731.4543-1-pbhagavatula@marvell.com> <20240202085031.10237-1-pbhagavatula@marvell.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Proofpoint-ORIG-GUID: DOh6jjpaEXMqjhKt-UvfIOP1SvC2gz76 X-Proofpoint-GUID: DOh6jjpaEXMqjhKt-UvfIOP1SvC2gz76 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-02_03,2024-01-31_01,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 ba859bd060b5..4e44d1850bae 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"'], @@ -708,6 +709,7 @@ if update_flags # probe supported archs and their features candidate_march = '' + fallback_march = '' if part_number_config.has_key('march') if part_number_config.get('force_march', false) or candidate_mcpu != '' if cc.has_argument('-march=' + part_number_config['march']) @@ -728,10 +730,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.43.0