From patchwork Thu Jun 15 11:24:23 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yutang Jiang X-Patchwork-Id: 128787 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 BE66E42CF6; Mon, 19 Jun 2023 09:10:38 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 50CF742C24; Mon, 19 Jun 2023 09:10:29 +0200 (CEST) Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on2110.outbound.protection.outlook.com [40.107.95.110]) by mails.dpdk.org (Postfix) with ESMTP id B233440E0F for ; Thu, 15 Jun 2023 13:32:00 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IIXpYd/GNzgXYNE69Cg8qsb64XAVW6axVwvKvN3ZzZS6QMf0EC2q4JkeYFNqez8YM7Ault5yq8pv15vReJTxFSTXzBwCHvW0ZxBdfffCwzxEsKZaOZTnDcnFp4kcQcNqE74SqtzUbcsk1Iq7IrFCoVSevpfdEEd8XuYax4KmHtSVaeq4DVE2KNbcCMt9WWlG4VFAj/ts3/iflmweiAru1s28vmzxMqL5ab+LZffqm+8i8uiC2aSu/64nPZ9a7uXCeT/lyWRvG85Mveya7POiBkfPGuo47ybpwujw5OpbqjDdRCncGDQqAtkaG0Nf1btA4eJteUZYZMTemw67Ci9ELg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=RmoZpXz0Wt9cPFrc7wg6qb18XnmBmikd1vm68dl6Bjo=; b=hS8I2OwDKG137I7Ck7UzX/s/vydqYpp8jMBZNPLy7O7eNGo1RfQ2aTg+YDLhEkp+2kXxV1fdKwg+Yx2z87JLhdBv2rtdNHaI2eeYa8a2XNTbon/B/fRgSBEcHT7Hvo7DHsINl5yGGfF6Xk/uUX9E4ktLEVreMOxur1v2oqyqDxZinb6XQaynS18HaasmMdhNV48dLYbjHnd3SHiCEURZ2h5qRUdMFpSfL+F/C1uE5YkSwVfhT7iCIwW2NjlanMZ/z6Y7r41IMkRGTc7PNHhfP4asVMF3cxRq/VAzSkmusTDczDdIr4QzVds/MmRO6HO2nEwqlELN3VjqSEZ4xE22Qw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=os.amperecomputing.com; dmarc=pass action=none header.from=os.amperecomputing.com; dkim=pass header.d=os.amperecomputing.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=os.amperecomputing.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RmoZpXz0Wt9cPFrc7wg6qb18XnmBmikd1vm68dl6Bjo=; b=M1T0lw0iBJ9tJAT19gJaf+w/smpmd2gH1QRhiRb65qQvqB9tzpV4Fd08GSqIdmkeHahwKrnUG+xLcffFHNE/mbbwr4SPIx9LVpaK1I0gMc3p0Pnxdf9cMP4M5tGAqqPi0wIfEYBEAYr5PxSx1jXp/dmv9qn/PJ1eZ2b1IE8sPQo= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=os.amperecomputing.com; Received: from SN6PR01MB4752.prod.exchangelabs.com (2603:10b6:805:d8::26) by BL3PR01MB7115.prod.exchangelabs.com (2603:10b6:208:33a::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6500.27; Thu, 15 Jun 2023 11:31:57 +0000 Received: from SN6PR01MB4752.prod.exchangelabs.com ([fe80::4b49:a6e0:bc69:b1a4]) by SN6PR01MB4752.prod.exchangelabs.com ([fe80::4b49:a6e0:bc69:b1a4%6]) with mapi id 15.20.6500.025; Thu, 15 Jun 2023 11:31:56 +0000 From: Yutang Jiang To: dev@dpdk.org Cc: patches@amperecomputing.com, yutang.jiang@amperecomputing.com, jiangyutang@os.amperecomputing.com, ruifeng.wang@arm.com, nd@arm.com, juraj.linkes@pantheon.tech Subject: [PATCH v2] config/arm: add Ampere Altra/AltraMax/AmpereOne platform Date: Thu, 15 Jun 2023 19:24:23 +0800 Message-Id: <20230615112423.54861-1-jiangyutang@os.amperecomputing.com> X-Mailer: git-send-email 2.40.1 X-ClientProxiedBy: CH0P221CA0021.NAMP221.PROD.OUTLOOK.COM (2603:10b6:610:11c::17) To SN6PR01MB4752.prod.exchangelabs.com (2603:10b6:805:d8::26) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN6PR01MB4752:EE_|BL3PR01MB7115:EE_ X-MS-Office365-Filtering-Correlation-Id: 40849e80-5c29-478e-f4bc-08db6d941feb X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: XwmfTSwNsiyxetyP0SKMtVo/ozsk8h8IIPDawimfhJxB/Jx4jiktqcmWiz4joRbdfQYhAJePMSNkTfNBBcKZ3qA8ma9BOH2nVwvHrSBWldrQ1WSYj1rJGQ5LZUpeoO3EYNIQFqqU3FEO0Qt5OJH3GWT6ZclTJF08FI7qs/Zmv0L97osLrbiuJRghnQyo0300rJtQQzyQ9r07xcJVHRIM2AYNUqec+n5Pek9ddVnJbP9w3uq8K64Uqfa0lFlqrW/WpDMNpr9PQMuv9U/xFwDUAxzJbrwN5Dg1zH399qXdCCQY9vELTqeH1ZFUHwEZLbMyYgjsqh6DvzQE7qq/fE11VDO2dm6G6pGp7OUhbcCEQB9hN+Xg/2VMMzVccTCzjbS7l6OHZMXm4KM/QnoyBzGTCwIaZ2Gd3/TSeZoJECaygJpht93LhHAY59F7fTdX0Fd+FVRSrz7/9MpyPFtEAnlPqE27Jn3/V2ESHm6tPVY+ksLDiuhUZkq/n4yBzvxnq7OcKGngxKE93F+bkr6XBp/RiNMjhAgEhk2oTN2Q73V50jxCZ2DuSJIba4HQy7yaR3WRFR2z1DvAG2fbqu47DN6kPDDEGiovyD6u7hzPOh0p40HWcMiHrcvHY8Ou8/5ZEcZ5 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR01MB4752.prod.exchangelabs.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(39860400002)(366004)(376002)(136003)(396003)(346002)(451199021)(2906002)(26005)(6512007)(186003)(83380400001)(2616005)(6916009)(66946007)(66476007)(66556008)(4326008)(41300700001)(52116002)(8936002)(8676002)(6486002)(316002)(6666004)(86362001)(38100700002)(478600001)(38350700002)(6506007)(1076003)(5660300002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 0jOMrO0TQ7RKsJUx1QQDtabJZMKp49JAchnhTv/+VzfZyDKO0L00YeD0AeGuQyGuRil95OVJ6fD9z6NXYsjpK1QSnm1c1hlsGpcQxKe5lp5TM+QSsY/O+mDZMuCtFvlS9ue1+WeNC79+qrObp6otcMIahBiQCtT4Y2qsciyJC5JKu+LygUr4qlvwhYC+DMpV2erPkeaDyy2UL+ra6Z1dsVz4XYzuDyeRHGNZ67riDw0zS4R0TShFohrGnTP1jz2VecKmYyt53GLieS8z/nyQFGlSDA3gRc+/pRfLqGOUOENrokLmY+dXWJyzunvAOxyEX3bpUuDR4hGjZEFGFJ1Pp3SSfWs8TGsWQWBHVLRpVoP/+5ooVUTzHSgdD2Y9j/ylxHMSZjTxcWTMaBQIQ9PzIh89+AiRIGt8qGFeoBbMy/gTnv5TTtaOWuU6CX6EyJxCrSqCxMPeANvTJRsKO2oKKI3LAIGAijr2gIfdl9F241MmbaKitNEDRXM88VaDgPS9AukH/UM4ClKhR8vCC3m3TuEEVm5GGEVokEixpaBV3qGa9IQtRcWKFkWtS+i+PHYNkJ3iuBsJqBK+V88Sm0eVhGaFwLiHZdaAacCeJFKPNVQyNGJBgdaAnoX6/KeZcQpg3xnm+lk/ywclfJppMVbNg/fmAQqNKeCnGowP5UsqUG8c5psHCO3U+WOLsWMYQlKRBrQuVyqWzVVq67gce4xa5XcVk+KbeN0HRsAJ6y+q9M52yJYsl5BMvSIEuT9WkwlCURhZlxZxkey1BLfIyOjdiN/U+49vFcAZ33f1XgbugpriYtHpGjlg5hO8O5kFN9AoLeLN4V7Qz0bsgskhFCoQFIWW74JbYL6EroAuRsoe+BBCr14e77XW6v+dsJzsPlF4oMis25QvXnrgB0+w8t+TDy/7UFUv6bWwSNoMGhBWUD5cgxXEKGvZ0+IeQI5Ld8UyOhSwUzvqpmf7DPx/kmz21wk+5YMobNB6PzRwktyeWx+j5brX7GVz4JJcMpUDEHOZw8Mw6hO0xgqUFP7lfS3an03cfuw4PPm1uy3pTH2gQV4mbkRguOdWfy7kF+41hya90oOFH6xELCphaWssum3YjApVHWNMvkuIccV5ZZyF7MO2XlxVDIBExi95N096FRSGEIS+7bJlXUCo6jKrnLJlvUidgXOnd5v0sAE0tkfE6AbqciW1V/7+mbcofx3zG3eqY8Nz3eNQ4f4FiIRA2RFicJJfhK6+6ZLb8QcVSHPQNJiHhGaBcjwKvJhDABQjZHdU2YlgXTGipGRPuP7sPaOOaA5zzepIAHV9WT5pIinBnFNib2C37uLscGkpTRIThsKkpBhRvdTBMYbjZmJ2jL34fvnh1hj/uDM6H1wCVtFSoT0CwCRBKe9sQjquYR8BYU9FcPQvWLp12qVrxilvrIGyNlt3+NFGrG40yLKTx8WbeBchpqUMR6iehUY7iB8TdVd1BLG+Ba/5uL8RqAWhchpI4oDQq4+0I9W3fqgrD3MdbKT23FmE6y6T5VfN6hxpVdDxalkUa9ojy6m8WYuh+Paum3IGpspjtymFvDwWGI/1j13HrzfNAJ7sWXebeuXZEUJpK0XzaQkEie/l6LevZ53lrAEdBpX9eunENjMmeAC8xNDzWVQ7ZxZKapG6oxmtaUwF X-OriginatorOrg: os.amperecomputing.com X-MS-Exchange-CrossTenant-Network-Message-Id: 40849e80-5c29-478e-f4bc-08db6d941feb X-MS-Exchange-CrossTenant-AuthSource: SN6PR01MB4752.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jun 2023 11:31:56.6542 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3bc2b170-fd94-476d-b0ce-4229bdc904a7 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Jnq0SWxtc751klZZnTbvassgJ55oeq5CpOntOgN+2gk+uvumcLk9CN3979EvwvnKQom/ZxOuZSR9y2WFY5LJcyHtYZxOLXsiQ7vCbzsRxT3SHC8TRAh21Lwr+8mVDXHl X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR01MB7115 X-Mailman-Approved-At: Mon, 19 Jun 2023 09:10:26 +0200 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 This patch add Ampere series platform support for DPDK: 1. Merging the eMAG and AmpereOne to the one struct implementer_ampere. 2. The microarchitecture of Altra/AltraMax is N1, which implementer/part_number is defined in arm, so the definition of RTE_MAX_LCORE/RTE_MAX_NUMA_NODES refers to the quadrant sub-numa definition in AltraMax 2P system. 3. Added basic definition of AmpereOne. Signed-off-by: Yutang Jiang --- config/arm/arm64_altra_linux_gcc | 16 ++++++++++ config/arm/arm64_ampereone_linux_gcc | 16 ++++++++++ config/arm/meson.build | 45 ++++++++++++++++++++++++---- 3 files changed, 71 insertions(+), 6 deletions(-) create mode 100644 config/arm/arm64_altra_linux_gcc create mode 100644 config/arm/arm64_ampereone_linux_gcc diff --git a/config/arm/arm64_altra_linux_gcc b/config/arm/arm64_altra_linux_gcc new file mode 100644 index 0000000000..ce0667ebe2 --- /dev/null +++ b/config/arm/arm64_altra_linux_gcc @@ -0,0 +1,16 @@ +[binaries] +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-g++'] +ar = 'aarch64-linux-gnu-gcc-ar' +strip = 'aarch64-linux-gnu-strip' +pkgconfig = 'aarch64-linux-gnu-pkg-config' +pcap-config = '' + +[host_machine] +system = 'linux' +cpu_family = 'aarch64' +cpu = 'armv8.2-a' +endian = 'little' + +[properties] +platform = 'altra' diff --git a/config/arm/arm64_ampereone_linux_gcc b/config/arm/arm64_ampereone_linux_gcc new file mode 100644 index 0000000000..8964432a74 --- /dev/null +++ b/config/arm/arm64_ampereone_linux_gcc @@ -0,0 +1,16 @@ +[binaries] +c = ['ccache', 'aarch64-linux-gnu-gcc'] +cpp = ['ccache', 'aarch64-linux-gnu-g++'] +ar = 'aarch64-linux-gnu-gcc-ar' +strip = 'aarch64-linux-gnu-strip' +pkgconfig = 'aarch64-linux-gnu-pkg-config' +pcap-config = '' + +[host_machine] +system = 'linux' +cpu_family = 'aarch64' +cpu = 'armv8.6-a' +endian = 'little' + +[properties] +platform = 'ampereone' diff --git a/config/arm/meson.build b/config/arm/meson.build index 5213434ca4..70a562aac6 100644 --- a/config/arm/meson.build +++ b/config/arm/meson.build @@ -71,8 +71,8 @@ part_number_config_arm = { ['RTE_MACHINE', '"neoverse-n1"'], ['RTE_ARM_FEATURE_ATOMICS', true], ['RTE_MAX_MEM_MB', 1048576], - ['RTE_MAX_LCORE', 160], - ['RTE_MAX_NUMA_NODES', 2] + ['RTE_MAX_LCORE', 256], + ['RTE_MAX_NUMA_NODES', 8] ] }, '0xd40': { @@ -165,16 +165,30 @@ implementer_cavium = { implementer_ampere = { 'description': 'Ampere Computing', 'flags': [ - ['RTE_MACHINE', '"emag"'], ['RTE_CACHE_LINE_SIZE', 64], - ['RTE_MAX_LCORE', 32], - ['RTE_MAX_NUMA_NODES', 1] + ['RTE_MAX_LCORE', 1024], + ['RTE_MAX_NUMA_NODES', 8] ], 'part_number_config': { '0x0': { 'march': 'armv8-a', 'march_features': ['crc', 'crypto'], - 'compiler_options': ['-mtune=emag'] + 'compiler_options': ['-mtune=emag'], + 'flags': [ + ['RTE_MACHINE', '"eMAG"'], + ['RTE_MAX_LCORE', 32], + ['RTE_MAX_NUMA_NODES', 1] + ] + }, + '0xac3': { + 'march': 'armv8.6-a', + 'march_features': ['crc', 'crypto'], + 'compiler_options': ['-mcpu=ampere1'], + 'flags': [ + ['RTE_MACHINE', '"AmpereOne"'], + ['RTE_MAX_LCORE', 320], + ['RTE_MAX_NUMA_NODES', 8] + ] } } } @@ -265,6 +279,7 @@ implementers = { '0x43': implementer_cavium, '0x48': implementer_hisilicon, '0x50': implementer_ampere, + '0xc0': implementer_ampere, '0x51': implementer_qualcomm, '0x70': implementer_phytium, } @@ -346,6 +361,20 @@ soc_emag = { 'part_number': '0x0' } +soc_altra = { + 'description': 'Ampere Altra/AltraMax', + 'implementer': '0x41', + 'part_number': '0xd0c', + 'numa': true +} + +soc_ampereone = { + 'description': 'Ampere AmpereOne', + 'implementer': '0xc0', + 'part_number': '0xac3', + 'numa': true +} + soc_ft2000plus = { 'description': 'Phytium FT-2000+', 'implementer': '0x70', @@ -460,6 +489,8 @@ soc_bluefield3 = { Start of SoCs list generic: Generic un-optimized build for armv8 aarch64 execution mode. generic_aarch32: Generic un-optimized build for armv8 aarch32 execution mode. +altra: Ampere Altra/AltraMax +ampereone: Ampere AmpereOne armada: Marvell ARMADA bluefield: NVIDIA BlueField bluefield3: NVIDIA BlueField-3 @@ -487,6 +518,8 @@ End of SoCs list socs = { 'generic': soc_generic, 'generic_aarch32': soc_generic_aarch32, + 'altra': soc_altra, + 'ampereone': soc_ampereone, 'armada': soc_armada, 'bluefield': soc_bluefield, 'bluefield3': soc_bluefield3,