From patchwork Thu Feb 22 12:45:02 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Pavan Nikhilesh Bhagavatula X-Patchwork-Id: 137033 X-Patchwork-Delegate: thomas@monjalon.net 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 CDA5543B74; Thu, 22 Feb 2024 13:45:20 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9F967402CE; Thu, 22 Feb 2024 13:45:20 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 4C17C40281 for ; Thu, 22 Feb 2024 13:45:19 +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 41MB9Bcj010408; Thu, 22 Feb 2024 04:45:16 -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=HN9zh2njKahMsQMLCfrvUF8HhcV7BPKZiQe/F+ky3iQ=; b=IOB 95+NW41K5CV/P9yLHTdbLHJXykpPwkHgKDGin3ipx0ufVDErtPcU28UBCrCHFFxd KHcdf9PJI+iX8G2kWY/A4MvGkjLR6uByJyvvqJQ3WMg+r/jw2aB5/yNRZJZYdgQ8 vo3HiaJAZaqpJtIUYjvXWtCKWOjmIIqmdZCI6lnY/OUDCr8+FK3GadpxsZ7HhvJk fF01Ax2gjOcanxXS3UBh7Pp4W26/vnfESZxdQdxPTvbtjHWgQwjcnNTmkWEqmN63 Oc9q7b/keW9u8NiDdXDQMTQGedgitw8Vy2vfxrombbQprgq9EyIBpffRP4Ubb7s1 GcgoZtn6ojAEDAiyRFQ== Received: from dc5-exch02.marvell.com ([199.233.59.182]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3wd21kge2r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Thu, 22 Feb 2024 04:45:15 -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; Thu, 22 Feb 2024 04:45:13 -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; Thu, 22 Feb 2024 04:45:13 -0800 Received: from MININT-80QBFE8.corp.innovium.com (unknown [10.28.164.106]) by maili.marvell.com (Postfix) with ESMTP id 4992A3F725A; Thu, 22 Feb 2024 04:45:11 -0800 (PST) From: To: , , , , Ruifeng Wang , "Bruce Richardson" CC: , Pavan Nikhilesh Subject: [PATCH v5 2/3] config/arm: add support for fallback march Date: Thu, 22 Feb 2024 18:15:02 +0530 Message-ID: <20240222124503.17043-2-pbhagavatula@marvell.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240222124503.17043-1-pbhagavatula@marvell.com> References: <20240221202018.14179-1-pbhagavatula@marvell.com> <20240222124503.17043-1-pbhagavatula@marvell.com> MIME-Version: 1.0 X-Proofpoint-GUID: Lz0QFzUi_0gsIl7rxepxC0suIwlcpNza X-Proofpoint-ORIG-GUID: Lz0QFzUi_0gsIl7rxepxC0suIwlcpNza 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-22_09,2024-02-22_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 Reviewed-by: Juraj Linkeš --- config/arm/meson.build | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/config/arm/meson.build b/config/arm/meson.build index d05d54b564..87ff5039f6 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 candidate_mcpu = '' candidate_march = '' + fallback_march = '' if part_number_config.has_key('mcpu') and cc.has_argument('-mcpu=' + part_number_config['mcpu']) @@ -736,16 +738,22 @@ if update_flags # start checking from this version downwards check_compiler_support = true endif - if (check_compiler_support and + if (check_compiler_support and candidate_march == '' and cc.has_argument('-march=' + supported_march)) candidate_march = supported_march - # 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 != ''