* [PATCH v2 2/4] config/arm: add generic V2 SoC
  2024-02-20  1:45 ` [PATCH v2 1/4] " Honnappa Nagarahalli
@ 2024-02-20  1:45   ` Honnappa Nagarahalli
  2024-02-22  7:08     ` Thomas Monjalon
  2024-02-20  1:45   ` [PATCH v2 3/4] config/arm: add NVIDIA Grace CPU Honnappa Nagarahalli
                     ` (2 subsequent siblings)
  3 siblings, 1 reply; 11+ messages in thread
From: Honnappa Nagarahalli @ 2024-02-20  1:45 UTC (permalink / raw)
  To: dev
  Cc: thomas, david.marchand, wathsala.vithanage, dhruv.tripathi, nd,
	Honnappa Nagarahalli
Add generic V2 CPU SoC. This will allow for compiling a binary
that will run on any SoC that uses V2 CPU.
Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Wathsala Vithanage <wathsala.vithanage@arm.com>
---
 config/arm/arm64_v2_linux_gcc | 16 ++++++++++++++++
 config/arm/meson.build        |  9 +++++++++
 2 files changed, 25 insertions(+)
 create mode 100644 config/arm/arm64_v2_linux_gcc
diff --git a/config/arm/arm64_v2_linux_gcc b/config/arm/arm64_v2_linux_gcc
new file mode 100644
index 0000000000..50d9be3da3
--- /dev/null
+++ b/config/arm/arm64_v2_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 = 'armv9-a'
+endian = 'little'
+
+[properties]
+platform = 'v2'
diff --git a/config/arm/meson.build b/config/arm/meson.build
index 18b595ead1..f096ed9ebf 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -527,6 +527,13 @@ soc_bluefield3 = {
    'numa': false
 }
 
+soc_v2 = {
+    'description': 'Arm Neoverse V2',
+    'implementer': '0x41',
+    'part_number': '0xd4f',
+    'numa': true
+}
+
 '''
 Start of SoCs list
 generic:         Generic un-optimized build for armv8 aarch64 execution mode.
@@ -555,6 +562,7 @@ stingray:        Broadcom Stingray
 thunderx2:       Marvell ThunderX2 T99
 thunderxt88:     Marvell ThunderX T88
 thunderxt83:     Marvell ThunderX T83
+v2:              Arm Neoverse V2
 End of SoCs list
 '''
 # The string above is included in the documentation, keep it in sync with the
@@ -586,6 +594,7 @@ socs = {
     'thunderx2': soc_thunderx2,
     'thunderxt88': soc_thunderxt88,
     'thunderxt83': soc_thunderxt83,
+    'v2': soc_v2,
 }
 
 dpdk_conf.set('RTE_ARCH_ARM', 1)
-- 
2.34.1
^ permalink raw reply	[flat|nested] 11+ messages in thread* Re: [PATCH v2 2/4] config/arm: add generic V2 SoC
  2024-02-20  1:45   ` [PATCH v2 2/4] config/arm: add generic V2 SoC Honnappa Nagarahalli
@ 2024-02-22  7:08     ` Thomas Monjalon
  2024-02-22 22:05       ` Honnappa Nagarahalli
  0 siblings, 1 reply; 11+ messages in thread
From: Thomas Monjalon @ 2024-02-22  7:08 UTC (permalink / raw)
  To: Honnappa Nagarahalli
  Cc: dev, david.marchand, wathsala.vithanage, dhruv.tripathi, nd
20/02/2024 02:45, Honnappa Nagarahalli:
> Add generic V2 CPU SoC. This will allow for compiling a binary
> that will run on any SoC that uses V2 CPU.
[...]
> +soc_v2 = {
> +    'description': 'Arm Neoverse V2',
> +    'implementer': '0x41',
> +    'part_number': '0xd4f',
> +    'numa': true
> +}
[...]
>  thunderxt88:     Marvell ThunderX T88
>  thunderxt83:     Marvell ThunderX T83
> +v2:              Arm Neoverse V2
Why just "v2" and not "neoversev2"?
Is it a new Arm naming?
If yes, why not just "2" ;)
Last question: what is best between Arm V2 and Armv7? answer is aarchv2 :D
Sorry I like having fun with Arm naming.
^ permalink raw reply	[flat|nested] 11+ messages in thread* Re: [PATCH v2 2/4] config/arm: add generic V2 SoC
  2024-02-22  7:08     ` Thomas Monjalon
@ 2024-02-22 22:05       ` Honnappa Nagarahalli
  0 siblings, 0 replies; 11+ messages in thread
From: Honnappa Nagarahalli @ 2024-02-22 22:05 UTC (permalink / raw)
  To: thomas
  Cc: dev, David Marchand, Wathsala Wathawana Vithanage, Dhruv Tripathi, nd
> On Feb 22, 2024, at 1:08 AM, Thomas Monjalon <thomas@monjalon.net> wrote:
> 
> 20/02/2024 02:45, Honnappa Nagarahalli:
>> Add generic V2 CPU SoC. This will allow for compiling a binary
>> that will run on any SoC that uses V2 CPU.
> [...]
>> +soc_v2 = {
>> +    'description': 'Arm Neoverse V2',
>> +    'implementer': '0x41',
>> +    'part_number': '0xd4f',
>> +    'numa': true
>> +}
> [...]
>> thunderxt88:     Marvell ThunderX T88
>> thunderxt83:     Marvell ThunderX T83
>> +v2:              Arm Neoverse V2
> 
> Why just "v2" and not "neoversev2”?
This is what was done for N2, so just keeping it consistent
> 
> Is it a new Arm naming?
No. ’Neoverse’ is the brand name that encompasses all the products for infrastructure market. CPUs are one of the products under Neoverse brand name. There are 2 series of CPUs (targeting 2 different PPAs) - N series and V series. N2 and V2 are the second generation of CPUs in those series.
> If yes, why not just "2" ;)
> Last question: what is best between Arm V2 and Armv7? answer is aarchv2 :D
ArmV7/ArmV8/ArmV9 are architecture revisions. There is no ArmV2 architecture.
Aarch32/Aarch64 are architecture states. For ex: N1 supported Aarch32 to run 32b applications as well as Aarch64 to run 64b applications. The later cores just support Aarch64 state and one can run only 64b applications.
> Sorry I like having fun with Arm naming.
No worries, it can be confusing. I hope the above explanation helps.
You have to pin this email for several months to be able to remember this :)
> 
> 
^ permalink raw reply	[flat|nested] 11+ messages in thread
* [PATCH v2 3/4] config/arm: add NVIDIA Grace CPU
  2024-02-20  1:45 ` [PATCH v2 1/4] " Honnappa Nagarahalli
  2024-02-20  1:45   ` [PATCH v2 2/4] config/arm: add generic V2 SoC Honnappa Nagarahalli
@ 2024-02-20  1:45   ` Honnappa Nagarahalli
  2024-02-20  1:45   ` [PATCH v2 4/4] config/arm: add AWS Graviton4 CPU Honnappa Nagarahalli
  2024-03-06 15:31   ` [PATCH v2 1/4] config/arm: add Neoverse V2 part number Thomas Monjalon
  3 siblings, 0 replies; 11+ messages in thread
From: Honnappa Nagarahalli @ 2024-02-20  1:45 UTC (permalink / raw)
  To: dev
  Cc: thomas, david.marchand, wathsala.vithanage, dhruv.tripathi, nd,
	Honnappa Nagarahalli, Ruifeng Wang
Add meson build configuration for NVIDIA Grace platform
with 64-bit Arm Neoverse V2 cores.
Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Acked-by: Ruifeng Wang <ruifeng.wang@arm.com>
Reviewed-by: Wathsala Vithanage <wathsala.vithanage@arm.com>
---
 config/arm/arm64_grace_linux_gcc | 16 ++++++++++++++++
 config/arm/meson.build           | 10 ++++++++++
 2 files changed, 26 insertions(+)
 create mode 100644 config/arm/arm64_grace_linux_gcc
diff --git a/config/arm/arm64_grace_linux_gcc b/config/arm/arm64_grace_linux_gcc
new file mode 100644
index 0000000000..bde55b17a8
--- /dev/null
+++ b/config/arm/arm64_grace_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 = 'armv9-a'
+endian = 'little'
+
+[properties]
+platform = 'grace'
diff --git a/config/arm/meson.build b/config/arm/meson.build
index f096ed9ebf..606d8942ca 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -424,6 +424,14 @@ soc_tys2500 = {
     'numa': true
 }
 
+soc_grace = {
+    'description': 'NVIDIA Grace',
+    'implementer': '0x41',
+    'part_number': '0xd4f',
+    'extra_march_features': ['crypto'],
+    'numa': true
+}
+
 soc_graviton2 = {
     'description': 'AWS Graviton2',
     'implementer': '0x41',
@@ -551,6 +559,7 @@ dpaa:            NXP DPAA
 emag:            Ampere eMAG
 ft2000plus:      Phytium FT-2000+
 tys2500:         Phytium TengYun S2500
+grace:           NVIDIA Grace
 graviton2:       AWS Graviton2
 graviton3:       AWS Graviton3
 hip10:           HiSilicon HIP10
@@ -583,6 +592,7 @@ socs = {
     'emag': soc_emag,
     'ft2000plus': soc_ft2000plus,
     'tys2500': soc_tys2500,
+    'grace': soc_grace,
     'graviton2': soc_graviton2,
     'graviton3': soc_graviton3,
     'hip10': soc_hip10,
-- 
2.34.1
^ permalink raw reply	[flat|nested] 11+ messages in thread* [PATCH v2 4/4] config/arm: add AWS Graviton4 CPU
  2024-02-20  1:45 ` [PATCH v2 1/4] " Honnappa Nagarahalli
  2024-02-20  1:45   ` [PATCH v2 2/4] config/arm: add generic V2 SoC Honnappa Nagarahalli
  2024-02-20  1:45   ` [PATCH v2 3/4] config/arm: add NVIDIA Grace CPU Honnappa Nagarahalli
@ 2024-02-20  1:45   ` Honnappa Nagarahalli
  2024-03-06 15:31   ` [PATCH v2 1/4] config/arm: add Neoverse V2 part number Thomas Monjalon
  3 siblings, 0 replies; 11+ messages in thread
From: Honnappa Nagarahalli @ 2024-02-20  1:45 UTC (permalink / raw)
  To: dev
  Cc: thomas, david.marchand, wathsala.vithanage, dhruv.tripathi, nd,
	Honnappa Nagarahalli
Add meson build configuration for AWS Graviton4 platform
with 64-bit Arm Neoverse V2 cores.
Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
Reviewed-by: Wathsala Vithanage <wathsala.vithanage@arm.com>
---
 config/arm/arm64_graviton4_linux_gcc | 16 ++++++++++++++++
 config/arm/meson.build               | 14 ++++++++++++++
 2 files changed, 30 insertions(+)
 create mode 100644 config/arm/arm64_graviton4_linux_gcc
diff --git a/config/arm/arm64_graviton4_linux_gcc b/config/arm/arm64_graviton4_linux_gcc
new file mode 100644
index 0000000000..839224bca7
--- /dev/null
+++ b/config/arm/arm64_graviton4_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 = 'armv9-a'
+endian = 'little'
+
+[properties]
+platform = 'graviton4'
diff --git a/config/arm/meson.build b/config/arm/meson.build
index 606d8942ca..075d6d8e88 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -447,6 +447,18 @@ soc_graviton3 = {
     'numa': false
 }
 
+soc_graviton4 = {
+    'description': 'AWS Graviton4',
+    'implementer': '0x41',
+    'part_number': '0xd4f',
+    'extra_march_features': ['crypto'],
+    'flags': [
+        ['RTE_MAX_LCORE', 96],
+        ['RTE_MAX_NUMA_NODES', 1]
+    ],
+    'numa': false
+}
+
 soc_hip10 = {
     'description': 'HiSilicon HIP10',
     'implementer': '0x48',
@@ -562,6 +574,7 @@ tys2500:         Phytium TengYun S2500
 grace:           NVIDIA Grace
 graviton2:       AWS Graviton2
 graviton3:       AWS Graviton3
+graviton4:       AWS Graviton4
 hip10:           HiSilicon HIP10
 kunpeng920:      HiSilicon Kunpeng 920
 kunpeng930:      HiSilicon Kunpeng 930
@@ -595,6 +608,7 @@ socs = {
     'grace': soc_grace,
     'graviton2': soc_graviton2,
     'graviton3': soc_graviton3,
+    'graviton4': soc_graviton4,
     'hip10': soc_hip10,
     'kunpeng920': soc_kunpeng920,
     'kunpeng930': soc_kunpeng930,
-- 
2.34.1
^ permalink raw reply	[flat|nested] 11+ messages in thread* Re: [PATCH v2 1/4] config/arm: add Neoverse V2 part number
  2024-02-20  1:45 ` [PATCH v2 1/4] " Honnappa Nagarahalli
                     ` (2 preceding siblings ...)
  2024-02-20  1:45   ` [PATCH v2 4/4] config/arm: add AWS Graviton4 CPU Honnappa Nagarahalli
@ 2024-03-06 15:31   ` Thomas Monjalon
  3 siblings, 0 replies; 11+ messages in thread
From: Thomas Monjalon @ 2024-03-06 15:31 UTC (permalink / raw)
  To: Honnappa Nagarahalli
  Cc: dev, david.marchand, wathsala.vithanage, dhruv.tripathi, nd,
	Ruifeng Wang
20/02/2024 02:45, Honnappa Nagarahalli:
> Add Arm Neoverse V2 CPU part number
> 
> Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>
> Acked-by: Ruifeng Wang <ruifeng.wang@arm.com>
> Reviewed-by: Wathsala Vithanage <wathsala.vithanage@arm.com>
Series applied, thanks.
^ permalink raw reply	[flat|nested] 11+ messages in thread