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

Signed-off-by: Ruifeng Wang <ruifeng.w...@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

Reply via email to