From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id D6D0CA00C4;
	Thu, 29 Sep 2022 11:29:38 +0200 (CEST)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id C654540694;
	Thu, 29 Sep 2022 11:29:38 +0200 (CEST)
Received: from foss.arm.com (foss.arm.com [217.140.110.172])
 by mails.dpdk.org (Postfix) with ESMTP id 91B6240395
 for <dev@dpdk.org>; Thu, 29 Sep 2022 11:29:37 +0200 (CEST)
Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14])
 by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 96A901063;
 Thu, 29 Sep 2022 02:29:43 -0700 (PDT)
Received: from net-arm-n1amp-02.shanghai.arm.com
 (net-arm-n1amp-02.shanghai.arm.com [10.169.210.108])
 by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPA id 5884A3F73B;
 Thu, 29 Sep 2022 02:29:34 -0700 (PDT)
From: Ruifeng Wang <ruifeng.wang@arm.com>
To: viktorin@rehivetech.com, bruce.richardson@intel.com,
 juraj.linkes@pantheon.tech, vcchunga@amazon.com
Cc: dev@dpdk.org, honnappa.nagarahalli@arm.com, nd@arm.com,
 Ruifeng Wang <ruifeng.wang@arm.com>
Subject: [PATCH v3] config/arm: add Graviton3
Date: Thu, 29 Sep 2022 17:29:09 +0800
Message-Id: <20220929092909.3448143-1-ruifeng.wang@arm.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <20220727063321.1170042-1-ruifeng.wang@arm.com>
References: <20220727063321.1170042-1-ruifeng.wang@arm.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

Add meson build configuration for Graviton3 platform
with 64-bit ARM Neoverse V1 cores.

Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
---
 config/arm/arm64_graviton3_linux_gcc | 16 ++++++++++++++++
 config/arm/meson.build               | 20 ++++++++++++++++++++
 2 files changed, 36 insertions(+)
 create mode 100644 config/arm/arm64_graviton3_linux_gcc

diff --git a/config/arm/arm64_graviton3_linux_gcc b/config/arm/arm64_graviton3_linux_gcc
new file mode 100644
index 0000000000..19b422075d
--- /dev/null
+++ b/config/arm/arm64_graviton3_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-a'
+endian = 'little'
+
+[properties]
+platform = 'graviton3'
diff --git a/config/arm/meson.build b/config/arm/meson.build
index 9f1636e0d5..5f33f6bf70 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -75,6 +75,16 @@ part_number_config_arm = {
             ['RTE_MAX_NUMA_NODES', 2]
         ]
     },
+    '0xd40': {
+        'march': 'armv8.4-a',
+        'march_features': ['sve'],
+        'compiler_options':  ['-mcpu=neoverse-v1'],
+        'flags': [
+            ['RTE_MACHINE', '"neoverse-v1"'],
+            ['RTE_ARM_FEATURE_ATOMICS', true],
+            ['RTE_MAX_NUMA_NODES', 1]
+        ]
+    },
     '0xd49': {
         'march': 'armv8.5-a',
         'march_features': ['sve2'],
@@ -335,6 +345,14 @@ soc_graviton2 = {
     'numa': false
 }
 
+soc_graviton3 = {
+    'description': 'AWS Graviton3',
+    'implementer': '0x41',
+    'part_number': '0xd40',
+    'extra_march_features': ['crypto'],
+    'numa': false
+}
+
 soc_kunpeng920 = {
     'description': 'HiSilicon Kunpeng 920',
     'implementer': '0x48',
@@ -415,6 +433,7 @@ dpaa:            NXP DPAA
 emag:            Ampere eMAG
 ft2000plus:      Phytium FT-2000+
 graviton2:       AWS Graviton2
+graviton3:       AWS Graviton3
 kunpeng920:      HiSilicon Kunpeng 920
 kunpeng930:      HiSilicon Kunpeng 930
 n1sdp:           Arm Neoverse N1SDP
@@ -439,6 +458,7 @@ socs = {
     'emag': soc_emag,
     'ft2000plus': soc_ft2000plus,
     'graviton2': soc_graviton2,
+    'graviton3': soc_graviton3,
     'kunpeng920': soc_kunpeng920,
     'kunpeng930': soc_kunpeng930,
     'n1sdp': soc_n1sdp,
-- 
2.25.1