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 6F9F343A44; Thu, 1 Feb 2024 22:57:55 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8596E42DAC; Thu, 1 Feb 2024 22:57:51 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 26DB842D90 for ; Thu, 1 Feb 2024 22:57:48 +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 411HGxOl027154; Thu, 1 Feb 2024 13:57:45 -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=Sa6ou51u7ExSeJUfOozc+tZ5WoFK2qW2fwmDDnjKJzg=; b=L4n X9QB29dKijCEBClpHhKvfZA2nddZex3/ZLlQLjr7SDIMmVE9Q9hl0WtaAxQggGLM ldMJebQP6f056+efx5ZtMhDdvJVuLFXybj79+po+zvS7tu6q4tmxW7daN92TInKk OBJSUjEpx6Ou0CQRJn7TylwGUX2koUNfN/FaGafMH5EOScPr6yK5G0iH4MQo2Z0f dNkWZXZXuM0q+Kj1vWPB0Vij+A7qVeIIHpHj5nQoJ446yNPcUZ7Vf7NZLIxHssBe 3AFEQ6xKOuDo4CjhMbunDkWLsXSoI8YYth9xnJzx0DWJjBf7CVjFUJvi5HnOn7xK Y/ZQp+K24+nPGCrVzrg== Received: from dc5-exch02.marvell.com ([199.233.59.182]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3w06u8k4t9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Thu, 01 Feb 2024 13:57:45 -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, 1 Feb 2024 13:57:44 -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, 1 Feb 2024 13:57:44 -0800 Received: from MININT-80QBFE8.corp.innovium.com (MININT-80QBFE8.marvell.com [10.28.164.106]) by maili.marvell.com (Postfix) with ESMTP id C4EC13F704D; Thu, 1 Feb 2024 13:57:41 -0800 (PST) From: To: , , , "Ruifeng Wang" , Bruce Richardson CC: , Pavan Nikhilesh Subject: [PATCH v2 2/3] config/arm: add support for fallback march Date: Fri, 2 Feb 2024 03:27:30 +0530 Message-ID: <20240201215731.4543-2-pbhagavatula@marvell.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240201215731.4543-1-pbhagavatula@marvell.com> References: <20240121093653.2890-1-pbhagavatula@marvell.com> <20240201215731.4543-1-pbhagavatula@marvell.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Proofpoint-GUID: jY543FmAp4410NPhLBIJbucFsbjqwaHM X-Proofpoint-ORIG-GUID: jY543FmAp4410NPhLBIJbucFsbjqwaHM 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-01_08,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 | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/config/arm/meson.build b/config/arm/meson.build index ba859bd060..6f2308f2fa 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,17 @@ if update_flags # highest supported march version found break endif + if (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