From patchwork Sun Jan 21 09:36:53 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Pavan Nikhilesh Bhagavatula X-Patchwork-Id: 136011 X-Patchwork-Delegate: david.marchand@redhat.com 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 E84064391B; Sun, 21 Jan 2024 10:37:13 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A4F0142D7D; Sun, 21 Jan 2024 10:37:08 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id BBDDE402CE for ; Sun, 21 Jan 2024 10:37:06 +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 40L8HQHo032451; Sun, 21 Jan 2024 01:37:02 -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=F3FULFh4Kdu7NrqI8KY015Lmnmk5EWLGI/MNnaTCcso=; b=j6P k9OiVOqtjChk40Hqp6B97JLdfOdXp+0gJWE8tudCaLaqrvHwpYJZFKjEnd8iBrK9 tYQ+V8aErjnXkccyWdayCq5LaHzSqdKlYtpb+wsJJwz46mHbBXqSMngyIh7Tjh/k lZLpGgsx1wi+5Nzb1aecwy0xskhrW5gXV76Kt3MUHK0T+HS5B/vKd9DE1qNWfR0P F6S6TZ4GR+j+/ymhS106SN1YKJjNr03fjaNi2PtTnlZtPr6As1j1H9qlZiDz3VH8 X/S9nNoloNA6F002etbUJgrzY5uSKeg1slhBHOIGKoINQ1I5afL9TXfnTXScDQIK XnLW8IIJ662Gnw7E+bQ== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3vrcdpj149-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Sun, 21 Jan 2024 01:37:02 -0800 (PST) Received: from DC5-EXCH01.marvell.com (10.69.176.38) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.48; Sun, 21 Jan 2024 01:37:01 -0800 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server id 15.0.1497.48 via Frontend Transport; Sun, 21 Jan 2024 01:37:01 -0800 Received: from MININT-80QBFE8.corp.innovium.com (MININT-80QBFE8.marvell.com [10.28.164.106]) by maili.marvell.com (Postfix) with ESMTP id 5AF593F70AD; Sun, 21 Jan 2024 01:36:58 -0800 (PST) From: To: , , , Ruifeng Wang , Bruce Richardson CC: , Pavan Nikhilesh Subject: [PATCH 2/2] config/arm: add support for fallback march Date: Sun, 21 Jan 2024 15:06:53 +0530 Message-ID: <20240121093653.2890-2-pbhagavatula@marvell.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240121093653.2890-1-pbhagavatula@marvell.com> References: <20240121093653.2890-1-pbhagavatula@marvell.com> MIME-Version: 1.0 X-Proofpoint-ORIG-GUID: vY17A0VNJRqhmC999JKH3a7pJklPFTTQ X-Proofpoint-GUID: vY17A0VNJRqhmC999JKH3a7pJklPFTTQ X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.997,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-01-20_06,2024-01-19_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 | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) -- 2.25.1 diff --git a/config/arm/meson.build b/config/arm/meson.build index 8c8cfccca0..2aaf78a81a 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"'], @@ -709,14 +710,14 @@ if update_flags # probe supported archs and their features candidate_march = '' + supported_marchs = ['armv9-a', 'armv8.6-a', 'armv8.5-a', 'armv8.4-a', + 'armv8.3-a', 'armv8.2-a', 'armv8.1-a', 'armv8-a'] if part_number_config.has_key('march') if part_number_config.get('force_march', false) or support_mcpu if cc.has_argument('-march=' + part_number_config['march']) candidate_march = part_number_config['march'] endif else - supported_marchs = ['armv8.6-a', 'armv8.5-a', 'armv8.4-a', 'armv8.3-a', - 'armv8.2-a', 'armv8.1-a', 'armv8-a'] check_compiler_support = false foreach supported_march: supported_marchs if supported_march == part_number_config['march'] @@ -733,6 +734,16 @@ if update_flags endif if candidate_march != part_number_config['march'] + if part_number_config.has_key('fallback_march') and not support_mcpu + fallback_march = part_number_config['fallback_march'] + foreach supported_march: supported_marchs + if (supported_march == fallback_march + and cc.has_argument('-march=' + supported_march)) + candidate_march = supported_march + break + endif + endforeach + endif warning('Configuration march version is @0@, not supported.' .format(part_number_config['march'])) if candidate_march != ''