From b3e2b303f964e5ad17af01a498ef8c1cdc32fbd6 Mon Sep 17 00:00:00 2001
From: Dongdong Liu <liudongdong3@huawei.com>
Date: Mon, 26 Jun 2023 20:43:04 +0800
Subject: [PATCH 351/366] config/arm: add HiSilicon HIP10

[ upstream commit 5b2a7f12edcaba0daab0154c9ab03430083cfd80 ]

Adding support for HiSilicon HIP10 platform.

Signed-off-by: Dongdong Liu <liudongdong3@huawei.com>
Acked-by: Ruifeng Wang <ruifeng.wang@arm.com>
---
 config/arm/arm64_hip10_linux_gcc | 16 ++++++++++++++++
 config/arm/meson.build           | 19 +++++++++++++++++++
 2 files changed, 35 insertions(+)
 create mode 100644 config/arm/arm64_hip10_linux_gcc

diff --git a/config/arm/arm64_hip10_linux_gcc b/config/arm/arm64_hip10_linux_gcc
new file mode 100644
index 0000000..2943e4a
--- /dev/null
+++ b/config/arm/arm64_hip10_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 = 'hip10'
diff --git a/config/arm/meson.build b/config/arm/meson.build
index 213324d..ef047e9 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -193,6 +193,16 @@ implementer_hisilicon = {
                 ['RTE_MAX_LCORE', 1280],
                 ['RTE_MAX_NUMA_NODES', 16]
             ]
+        },
+        '0xd03': {
+            'march': 'armv8.5-a',
+            'march_features': ['crypto', 'sve'],
+            'flags': [
+                ['RTE_MACHINE', '"hip10"'],
+                ['RTE_ARM_FEATURE_ATOMICS', true],
+                ['RTE_MAX_LCORE', 1280],
+                ['RTE_MAX_NUMA_NODES', 16]
+            ]
         }
     }
 }
@@ -309,6 +319,13 @@ soc_graviton2 = {
     'numa': false
 }
 
+soc_hip10 = {
+    'description': 'HiSilicon HIP10',
+    'implementer': '0x48',
+    'part_number': '0xd03',
+    'numa': true
+}
+
 soc_kunpeng920 = {
     'description': 'HiSilicon Kunpeng 920',
     'implementer': '0x48',
@@ -381,6 +398,7 @@ cn10k:           Marvell OCTEON 10
 dpaa:            NXP DPAA
 emag:            Ampere eMAG
 graviton2:       AWS Graviton2
+hip10:           HiSilicon HIP10
 kunpeng920:      HiSilicon Kunpeng 920
 kunpeng930:      HiSilicon Kunpeng 930
 n1sdp:           Arm Neoverse N1SDP
@@ -403,6 +421,7 @@ socs = {
     'dpaa': soc_dpaa,
     'emag': soc_emag,
     'graviton2': soc_graviton2,
+    'hip10': soc_hip10,
     'kunpeng920': soc_kunpeng920,
     'kunpeng930': soc_kunpeng930,
     'n1sdp': soc_n1sdp,
-- 
2.41.0.windows.2

