RE: [PATCH v2] config/arm: add Ampere AmpereOneX platform

2024-06-26 Thread Yutang Jiang
Thank you, Ruifeng.
I noticed that variable patch, and have updated and submitted a new v3 patch.

> -Original Message-
> From: Ruifeng Wang 
> Sent: Thursday, June 20, 2024 4:41 PM
> To: Yutang Jiang OS ;
> dev@dpdk.org
> Cc: Open Source Submission ; Yutang Jiang
> ; n...@arm.com;
> juraj.lin...@pantheon.tech; wathsala.vithan...@arm.com
> Subject: Re: [PATCH v2] config/arm: add Ampere AmpereOneX platform
> 
> [EXTERNAL EMAIL NOTICE: This email originated from an external sender.
> Please be mindful of safe email handling and proprietary information
> protection practices.]
> 
> 
> On 2024/4/11 5:23 PM, Yutang Jiang wrote:
> > Signed-off-by: Yutang Jiang 
> > ---
> >   config/arm/arm64_ampereonex_linux_gcc | 16 
> >   config/arm/meson.build| 19 +++
> >   2 files changed, 35 insertions(+)
> >   create mode 100644 config/arm/arm64_ampereonex_linux_gcc
> >
> > diff --git a/config/arm/arm64_ampereonex_linux_gcc
> > b/config/arm/arm64_ampereonex_linux_gcc
> > new file mode 100644
> > index 00..c5c334fdb7
> > --- /dev/null
> > +++ b/config/arm/arm64_ampereonex_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'
> 
> This variable is changed to remove some meson warning [1]. Please update
> accordingly.
> 
> With suggested change:
> Acked-by: Ruifeng Wang 
> 
> PS: you can take received ack from the previous version.
> 
> [1]
> https://patches.dpdk.org/project/dpdk/patch/20240617151458.1005103-
> 1-david.march...@redhat.com/
> 
> Thanks.
> > +pcap-config = ''
> > +
> > +[host_machine]
> 


RE: [PATCH v2] config/arm: add Ampere AmpereOneX platform

2024-06-26 Thread Yutang Jiang


> -Original Message-
> From: Thomas Monjalon 
> Sent: Thursday, June 20, 2024 3:44 AM
> To: ruifeng.w...@arm.com; wathsala.vithan...@arm.com;
> honnappa.nagaraha...@arm.com
> Cc: dev@dpdk.org; Open Source Submission
> ; Yutang Jiang
> ; Yutang Jiang OS
> ; n...@arm.com;
> juraj.lin...@pantheon.tech; Yutang Jiang OS
> 
> Subject: Re: [PATCH v2] config/arm: add Ampere AmpereOneX platform
> 
> [EXTERNAL EMAIL NOTICE: This email originated from an external sender.
> Please be mindful of safe email handling and proprietary information
> protection practices.]
> 
> 
> 11/04/2024 11:23, Yutang Jiang:
> > Signed-off-by: Yutang Jiang 
> 
> Would be good to have a small description of the platform in the commit log.
[Yutang Jiang

Recall: [PATCH v2] config/arm: add Ampere AmpereOneX platform

2024-06-26 Thread Yutang Jiang
Yutang Jiang would like to recall the message, "[PATCH v2] config/arm: add 
Ampere AmpereOneX platform".


CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is for 
the sole use of the intended recipient(s) and contains information that is 
confidential and proprietary to Ampere Computing or its subsidiaries. It is to 
be used solely for the purpose of furthering the parties' business 
relationship. Any unauthorized review, copying, or distribution of this email 
(or any attachments thereto) is strictly prohibited. If you are not the 
intended recipient, please contact the sender immediately and permanently 
delete the original and any copies of this email and any attachments thereto.


[PATCH v3] config/arm: add Ampere AmpereOneX platform

2024-06-27 Thread Yutang Jiang
Signed-off-by: Yutang Jiang 
---
 config/arm/arm64_ampereonex_linux_gcc | 17 +
 config/arm/meson.build| 19 +++
 2 files changed, 36 insertions(+)
 create mode 100644 config/arm/arm64_ampereonex_linux_gcc

diff --git a/config/arm/arm64_ampereonex_linux_gcc 
b/config/arm/arm64_ampereonex_linux_gcc
new file mode 100644
index 00..ac95653a6c
--- /dev/null
+++ b/config/arm/arm64_ampereonex_linux_gcc
@@ -0,0 +1,17 @@
+[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'
+pkg-config = 'aarch64-linux-gnu-pkg-config'
+pcap-config = ''
+
+[host_machine]
+system = 'linux'
+cpu_family = 'aarch64'
+cpu = 'armv8.6-a'
+endian = 'little'
+
+[properties]
+platform = 'ampereonex'
diff --git a/config/arm/meson.build b/config/arm/meson.build
index a45aa9e466..40d63b5e4b 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -210,6 +210,16 @@ implementer_ampere = {
 ['RTE_MAX_LCORE', 320],
 ['RTE_MAX_NUMA_NODES', 8]
 ]
+},
+'0xac4': {
+'march': 'armv8.6-a',
+'march_features': ['crc', 'crypto'],
+'mcpu': 'ampere1a',
+'flags': [
+['RTE_MACHINE', '"AmpereOneX"'],
+['RTE_MAX_LCORE', 384],
+['RTE_MAX_NUMA_NODES', 8]
+]
 }
 }
 }
@@ -371,6 +381,13 @@ soc_ampereone = {
 'numa': true
 }
 
+soc_ampereonex = {
+'description': 'Ampere AmpereOneX',
+'implementer': '0xc0',
+'part_number': '0xac4',
+'numa': true
+}
+
 soc_armada = {
 'description': 'Marvell ARMADA',
 'implementer': '0x41',
@@ -621,6 +638,7 @@ 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
+ampereonex:  Ampere AmpereOneX
 armada:  Marvell ARMADA
 bluefield:   NVIDIA BlueField
 bluefield3:  NVIDIA BlueField-3
@@ -658,6 +676,7 @@ socs = {
 'generic_aarch32': soc_generic_aarch32,
 'altra': soc_altra,
 'ampereone': soc_ampereone,
+'ampereonex': soc_ampereonex,
 'armada': soc_armada,
 'bluefield': soc_bluefield,
 'bluefield3': soc_bluefield3,
-- 
2.43.0



RE: [PATCH v3] config/arm: add Ampere AmpereOneX platform

2024-06-27 Thread Yutang Jiang
Hi Ruifeng,

Thank you for reviewing.
Temporarily suspended. Colleagues remind that the company has just standardized 
external naming rules, and the time happens to be between the v2 and v3 of this 
patch. Wait for me to go through again the internal process before sending it 
to the DPDK community.

Best Regards,
Yutang Jiang

> -Original Message-
> From: Ruifeng Wang 
> Sent: Thursday, June 27, 2024 3:15 PM
> To: Yutang Jiang OS ;
> dev@dpdk.org
> Cc: Open Source Submission ; Yutang Jiang
> ; n...@arm.com;
> juraj.lin...@pantheon.tech; wathsala.vithan...@arm.com
> Subject: Re: [PATCH v3] config/arm: add Ampere AmpereOneX platform
> 
> [EXTERNAL EMAIL NOTICE: This email originated from an external sender.
> Please be mindful of safe email handling and proprietary information
> protection practices.]
> 
> 
> On 2024/6/27 10:44 AM, Yutang Jiang wrote:
> > Signed-off-by: Yutang Jiang 
> > ---
> >   config/arm/arm64_ampereonex_linux_gcc | 17 +
> >   config/arm/meson.build| 19 +++
> >   2 files changed, 36 insertions(+)
> >   create mode 100644 config/arm/arm64_ampereonex_linux_gcc
> >
> Acked-by: Ruifeng Wang 



RE: [DPDK][PATCH v4] config/arm: add Ampere AmpereOneAC04 platform

2024-06-27 Thread Yutang Jiang
Due to changes in product family naming conventions, this updated version has 
no other changes except for some string adjustments.

Hi Thomas,
According to your suggestion, this version has also added a small description 
of the platform.


Best Regards,
Yutang Jiang

> -Original Message-
> From: Yutang Jiang OS 
> Sent: Friday, June 28, 2024 11:23 AM
> To: dev@dpdk.org
> Cc: Open Source Submission ; Yutang Jiang
> ; Yutang Jiang OS
> ; ruifeng.w...@arm.com;
> n...@arm.com; juraj.lin...@pantheon.tech; wathsala.vithan...@arm.com;
> tho...@monjalon.net; honnappa.nagaraha...@arm.com
> Subject: [DPDK][PATCH v4] config/arm: add Ampere AmpereOneAC04
> platform
> 
> The AmpereOneAC04 is efficient Cloud Native CPU:
>   Up to 192 Cores
>   2MB Private L2 Cache per Core
>   8 channel DDR5
>   128 lanes PCIe Gen5
> 
> Signed-off-by: Yutang Jiang 
> ---
>  config/arm/arm64_ampereoneac04_linux_gcc | 17 +
>  config/arm/meson.build   | 19 +++
>  2 files changed, 36 insertions(+)
>  create mode 100644 config/arm/arm64_ampereoneac04_linux_gcc
> 
> diff --git a/config/arm/arm64_ampereoneac04_linux_gcc
> b/config/arm/arm64_ampereoneac04_linux_gcc
> new file mode 100644
> index 00..a8dfd6551f
> --- /dev/null
> +++ b/config/arm/arm64_ampereoneac04_linux_gcc
> @@ -0,0 +1,17 @@
> +[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'
> +pkg-config = 'aarch64-linux-gnu-pkg-config'
> +pcap-config = ''
> +
> +[host_machine]
> +system = 'linux'
> +cpu_family = 'aarch64'
> +cpu = 'armv8.6-a'
> +endian = 'little'
> +
> +[properties]
> +platform = 'ampereoneac04'
> diff --git a/config/arm/meson.build b/config/arm/meson.build index
> a45aa9e466..012935d5d7 100644
> --- a/config/arm/meson.build
> +++ b/config/arm/meson.build
> @@ -210,6 +210,16 @@ implementer_ampere = {
>  ['RTE_MAX_LCORE', 320],
>  ['RTE_MAX_NUMA_NODES', 8]
>  ]
> +},
> +'0xac4': {
> +'march': 'armv8.6-a',
> +'march_features': ['crc', 'crypto'],
> +'mcpu': 'ampere1a',
> +'flags': [
> +['RTE_MACHINE', '"AmpereOneAC04"'],
> +['RTE_MAX_LCORE', 384],
> +['RTE_MAX_NUMA_NODES', 8]
> +]
>  }
>  }
>  }
> @@ -371,6 +381,13 @@ soc_ampereone = {
>  'numa': true
>  }
> 
> +soc_ampereoneac04 = {
> +'description': 'Ampere AmpereOne AC04',
> +'implementer': '0xc0',
> +'part_number': '0xac4',
> +'numa': true
> +}
> +
>  soc_armada = {
>  'description': 'Marvell ARMADA',
>  'implementer': '0x41',
> @@ -621,6 +638,7 @@ 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
> +ampereoneac04:   Ampere AmpereOneAC04
>  armada:  Marvell ARMADA
>  bluefield:   NVIDIA BlueField
>  bluefield3:  NVIDIA BlueField-3
> @@ -658,6 +676,7 @@ socs = {
>  'generic_aarch32': soc_generic_aarch32,
>  'altra': soc_altra,
>  'ampereone': soc_ampereone,
> +'ampereoneac04': soc_ampereoneac04,
>  'armada': soc_armada,
>  'bluefield': soc_bluefield,
>  'bluefield3': soc_bluefield3,
> --
> 2.43.0



RE: [PATCH v3] config/arm: add Ampere AmpereOneX platform

2024-06-27 Thread Yutang Jiang
Superseded.

The latest updated patch name is "config/arm: add Ampere AmpereOneAC04 platform"


Best Regards,
Yutang Jiang

> On 2024/6/27 10:44 AM, Yutang Jiang wrote:
> > Signed-off-by: Yutang Jiang 
> > ---
> >   config/arm/arm64_ampereonex_linux_gcc | 17 +
> >   config/arm/meson.build| 19 +++
> >   2 files changed, 36 insertions(+)
> >   create mode 100644 config/arm/arm64_ampereonex_linux_gcc
> >
> Acked-by: Ruifeng Wang 



[DPDK][PATCH v4] config/arm: add Ampere AmpereOneAC04 platform

2024-06-28 Thread Yutang Jiang
The AmpereOneAC04 is efficient Cloud Native CPU:
  Up to 192 Cores
  2MB Private L2 Cache per Core
  8 channel DDR5
  128 lanes PCIe Gen5

Signed-off-by: Yutang Jiang 
---
 config/arm/arm64_ampereoneac04_linux_gcc | 17 +
 config/arm/meson.build   | 19 +++
 2 files changed, 36 insertions(+)
 create mode 100644 config/arm/arm64_ampereoneac04_linux_gcc

diff --git a/config/arm/arm64_ampereoneac04_linux_gcc 
b/config/arm/arm64_ampereoneac04_linux_gcc
new file mode 100644
index 00..a8dfd6551f
--- /dev/null
+++ b/config/arm/arm64_ampereoneac04_linux_gcc
@@ -0,0 +1,17 @@
+[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'
+pkg-config = 'aarch64-linux-gnu-pkg-config'
+pcap-config = ''
+
+[host_machine]
+system = 'linux'
+cpu_family = 'aarch64'
+cpu = 'armv8.6-a'
+endian = 'little'
+
+[properties]
+platform = 'ampereoneac04'
diff --git a/config/arm/meson.build b/config/arm/meson.build
index a45aa9e466..012935d5d7 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -210,6 +210,16 @@ implementer_ampere = {
 ['RTE_MAX_LCORE', 320],
 ['RTE_MAX_NUMA_NODES', 8]
 ]
+},
+'0xac4': {
+'march': 'armv8.6-a',
+'march_features': ['crc', 'crypto'],
+'mcpu': 'ampere1a',
+'flags': [
+['RTE_MACHINE', '"AmpereOneAC04"'],
+['RTE_MAX_LCORE', 384],
+['RTE_MAX_NUMA_NODES', 8]
+]
 }
 }
 }
@@ -371,6 +381,13 @@ soc_ampereone = {
 'numa': true
 }
 
+soc_ampereoneac04 = {
+'description': 'Ampere AmpereOne AC04',
+'implementer': '0xc0',
+'part_number': '0xac4',
+'numa': true
+}
+
 soc_armada = {
 'description': 'Marvell ARMADA',
 'implementer': '0x41',
@@ -621,6 +638,7 @@ 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
+ampereoneac04:   Ampere AmpereOneAC04
 armada:  Marvell ARMADA
 bluefield:   NVIDIA BlueField
 bluefield3:  NVIDIA BlueField-3
@@ -658,6 +676,7 @@ socs = {
 'generic_aarch32': soc_generic_aarch32,
 'altra': soc_altra,
 'ampereone': soc_ampereone,
+'ampereoneac04': soc_ampereoneac04,
 'armada': soc_armada,
 'bluefield': soc_bluefield,
 'bluefield3': soc_bluefield3,
-- 
2.43.0



[PATCH] config/arm: add Ampere AmpereOneX platform

2024-04-08 Thread Yutang Jiang
Signed-off-by: Yutang Jiang 
Signed-off-by: Yutang Jiang 
---
 config/arm/arm64_ampereonex_linux_gcc | 16 
 config/arm/meson.build| 19 +++
 2 files changed, 35 insertions(+)
 create mode 100644 config/arm/arm64_ampereonex_linux_gcc

diff --git a/config/arm/arm64_ampereonex_linux_gcc 
b/config/arm/arm64_ampereonex_linux_gcc
new file mode 100644
index 00..c5c334fdb7
--- /dev/null
+++ b/config/arm/arm64_ampereonex_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 = 'ampereonex'
diff --git a/config/arm/meson.build b/config/arm/meson.build
index a45aa9e466..40d63b5e4b 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -210,6 +210,16 @@ implementer_ampere = {
 ['RTE_MAX_LCORE', 320],
 ['RTE_MAX_NUMA_NODES', 8]
 ]
+},
+'0xac4': {
+'march': 'armv8.6-a',
+'march_features': ['crc', 'crypto'],
+'mcpu': 'ampere1a',
+'flags': [
+['RTE_MACHINE', '"AmpereOneX"'],
+['RTE_MAX_LCORE', 384],
+['RTE_MAX_NUMA_NODES', 8]
+]
 }
 }
 }
@@ -371,6 +381,13 @@ soc_ampereone = {
 'numa': true
 }
 
+soc_ampereonex = {
+'description': 'Ampere AmpereOneX',
+'implementer': '0xc0',
+'part_number': '0xac4',
+'numa': true
+}
+
 soc_armada = {
 'description': 'Marvell ARMADA',
 'implementer': '0x41',
@@ -621,6 +638,7 @@ 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
+ampereonex:  Ampere AmpereOneX
 armada:  Marvell ARMADA
 bluefield:   NVIDIA BlueField
 bluefield3:  NVIDIA BlueField-3
@@ -658,6 +676,7 @@ socs = {
 'generic_aarch32': soc_generic_aarch32,
 'altra': soc_altra,
 'ampereone': soc_ampereone,
+'ampereonex': soc_ampereonex,
 'armada': soc_armada,
 'bluefield': soc_bluefield,
 'bluefield3': soc_bluefield3,
-- 
2.43.2



RE: [PATCH] config/arm: add Ampere AmpereOneX platform

2024-04-11 Thread Yutang Jiang
I will resend a new version. Thanks.

Best Regards,
Yutang Jiang

> -Original Message-
> From: Wathsala Wathawana Vithanage 
> Sent: Thursday, April 11, 2024 8:32 AM
> To: Wathsala Wathawana Vithanage ; Yutang
> Jiang OS ; dev@dpdk.org
> Cc: Open Source Submission ; Yutang Jiang
> ; Ruifeng Wang
> ; nd ; juraj.lin...@pantheon.tech;
> nd ; nd 
> Subject: RE: [PATCH] config/arm: add Ampere AmpereOneX platform
> 
> [EXTERNAL EMAIL NOTICE: This email originated from an external sender.
> Please be mindful of safe email handling and proprietary information 
> protection
> practices.]
> 
> 
> > >
> > > Signed-off-by: Yutang Jiang 
> > > Signed-off-by: Yutang Jiang 
> > > ---
> 
> Looks like this patch is signed off by Yutang twice with two different emails.
> Please remove one and submit again.
> 
> Thank you.


[PATCH v2] config/arm: add Ampere AmpereOneX platform

2024-04-12 Thread Yutang Jiang
Signed-off-by: Yutang Jiang 
---
 config/arm/arm64_ampereonex_linux_gcc | 16 
 config/arm/meson.build| 19 +++
 2 files changed, 35 insertions(+)
 create mode 100644 config/arm/arm64_ampereonex_linux_gcc

diff --git a/config/arm/arm64_ampereonex_linux_gcc 
b/config/arm/arm64_ampereonex_linux_gcc
new file mode 100644
index 00..c5c334fdb7
--- /dev/null
+++ b/config/arm/arm64_ampereonex_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 = 'ampereonex'
diff --git a/config/arm/meson.build b/config/arm/meson.build
index a45aa9e466..40d63b5e4b 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -210,6 +210,16 @@ implementer_ampere = {
 ['RTE_MAX_LCORE', 320],
 ['RTE_MAX_NUMA_NODES', 8]
 ]
+},
+'0xac4': {
+'march': 'armv8.6-a',
+'march_features': ['crc', 'crypto'],
+'mcpu': 'ampere1a',
+'flags': [
+['RTE_MACHINE', '"AmpereOneX"'],
+['RTE_MAX_LCORE', 384],
+['RTE_MAX_NUMA_NODES', 8]
+]
 }
 }
 }
@@ -371,6 +381,13 @@ soc_ampereone = {
 'numa': true
 }
 
+soc_ampereonex = {
+'description': 'Ampere AmpereOneX',
+'implementer': '0xc0',
+'part_number': '0xac4',
+'numa': true
+}
+
 soc_armada = {
 'description': 'Marvell ARMADA',
 'implementer': '0x41',
@@ -621,6 +638,7 @@ 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
+ampereonex:  Ampere AmpereOneX
 armada:  Marvell ARMADA
 bluefield:   NVIDIA BlueField
 bluefield3:  NVIDIA BlueField-3
@@ -658,6 +676,7 @@ socs = {
 'generic_aarch32': soc_generic_aarch32,
 'altra': soc_altra,
 'ampereone': soc_ampereone,
+'ampereonex': soc_ampereonex,
 'armada': soc_armada,
 'bluefield': soc_bluefield,
 'bluefield3': soc_bluefield3,
-- 
2.43.2



[PATCH] config/arm: add Ampere Altra/AltraMax/AmpereOne platform

2023-06-11 Thread Yutang Jiang
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 
Signed-off-by: Yutang Jiang 
---
 config/arm/arm64_altra_linux_gcc | 16 +
 config/arm/arm64_ampereone_linux_gcc | 16 +
 config/arm/meson.build   | 52 
 3 files changed, 78 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 00..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 00..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 43f6a551a2..57424b88dc 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': {
@@ -166,16 +166,29 @@ 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]
+]
 }
 }
 }
@@ -266,6 +279,7 @@ implementers = {
 '0x43': implementer_cavium,
 '0x48': implementer_hisilicon,
 '0x50': implementer_ampere,
+'0xc0': implementer_ampere,
 '0x51': implementer_qualcomm,
 '0x70': implementer_phytium,
 }
@@ -347,6 +361,28 @@ soc_emag = {
 'part_number': '0x0'
 }
 
+soc_altra = {
+'description': 'Ampere Altra/AltraMax',
+'implementer': '0x41',
+'part_number': '0xd0c',
+'flags': [
+['RTE_MAX_LCORE', 256],
+['RTE_MAX_NUMA_NODES', 8]
+],
+'numa': true
+}
+
+soc_ampereone = {
+'description': 'Ampere AmpereOne',
+'implementer': '0xc0',
+'part_number': '0xac3',
+'flags': [
+['RTE_MAX_LCORE', 320],
+['RTE_MAX_NUMA_NODES', 8]
+],
+'numa': true
+}
+
 soc_ft2000plus = {
 'description': 'Phytium FT-2000+',
 'implementer': '0x70',
@@ -469,6 +505,8 @@ cn9k:Marvell OCTEON 9
 cn10k:   Marvell OCTEON 10
 dpaa:NXP DPAA
 emag:Ampere eMAG
+altra:   Ampere Altra/AltraMax
+ampereone:   Ampere AmpereOne
 ft2000plus:  Phytium FT-2000+
 tys2500: Phytium TengYun S2500
 graviton2:   AWS Graviton2
@@ -496,6 +534,8 @@ socs = {
 'cn10k' : soc_cn10k,
 'dpaa': soc_dpaa,
 'emag': soc_emag,
+'altra': soc_altra,
+'ampereone': soc_ampereone,
 'ft2000plus': soc_ft2000plus,
 'tys2500': soc_tys2500,
 'graviton2': soc_graviton2,
-- 
2.40.0



RE: [PATCH] config/arm: add Ampere Altra/AltraMax/AmpereOne platform

2023-06-12 Thread Yutang Jiang
Hi Ruifeng,

Please help me review this patch. Thank you very much.

Best Regards,
Yutang Jiang

-Original Message-
From: Yutang Jiang OS  
Sent: Sunday, June 11, 2023 1:03 PM
To: dev@dpdk.org
Cc: Open Source Submission ; Yutang Jiang 
; Yutang Jiang OS 

Subject: [PATCH] config/arm: add Ampere Altra/AltraMax/AmpereOne platform

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 
Signed-off-by: Yutang Jiang 
---
 config/arm/arm64_altra_linux_gcc | 16 +
 config/arm/arm64_ampereone_linux_gcc | 16 +
 config/arm/meson.build   | 52 
 3 files changed, 78 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 00..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 00..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 
43f6a551a2..57424b88dc 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': {
@@ -166,16 +166,29 @@ 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]
+]
 }
 }
 }
@@ -266,6 +279,7 @@ implementers = {
 '0x43': implementer_cavium,
 '0x48': implementer_hisilicon,
 '0x50': implementer_ampere,
+'0xc0': implementer_ampere,
 '0x51': implementer_qualcomm,
 '0x70': implementer_phytium,
 }
@@ -347,6 +361,28 @@ soc_emag = {
 'part_n

RE: [PATCH] config/arm: add Ampere Altra/AltraMax/AmpereOne platform

2023-06-15 Thread Yutang Jiang



> -Original Message-
> From: Ruifeng Wang 
> Sent: Tuesday, June 13, 2023 4:18 PM
> To: Yutang Jiang 
> Cc: Open Source Submission ;
> dev@dpdk.org; Yutang Jiang OS ;
> Juraj Linkeš ; nd 
> Subject: RE: [PATCH] config/arm: add Ampere Altra/AltraMax/AmpereOne
> platform
> 
> [EXTERNAL EMAIL NOTICE: This email originated from an external sender.
> Please be mindful of safe email handling and proprietary information
> protection practices.]
> 
> 
> > -Original Message-
> > From: Yutang Jiang 
> > Sent: Monday, June 12, 2023 10:48 PM
> > To: Ruifeng Wang 
> > Cc: Open Source Submission ;
> > dev@dpdk.org; Yutang Jiang OS 
> > Subject: RE: [PATCH] config/arm: add Ampere Altra/AltraMax/AmpereOne
> > platform
> >
> > Hi Ruifeng,
> >
> > Please help me review this patch. Thank you very much.
> >
> > Best Regards,
> > Yutang Jiang
> >
> > -Original Message-
> > From: Yutang Jiang OS 
> > Sent: Sunday, June 11, 2023 1:03 PM
> > To: dev@dpdk.org
> > Cc: Open Source Submission ; Yutang
> Jiang
> > ; Yutang Jiang OS
> > 
> > Subject: [PATCH] config/arm: add Ampere Altra/AltraMax/AmpereOne
> > platform
> >
> > 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 
> > Signed-off-by: Yutang Jiang 
> > ---
> >  config/arm/arm64_altra_linux_gcc | 16 +
> >  config/arm/arm64_ampereone_linux_gcc | 16 +
> >  config/arm/meson.build   | 52 
> >  3 files changed, 78 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 00..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 00..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
> > 43f6a551a2..57424b88dc
> > 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': {
> > @@ -166,16 +166,29 @@ implementer_c

[PATCH v2] config/arm: add Ampere Altra/AltraMax/AmpereOne platform

2023-06-19 Thread Yutang Jiang
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 00..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 00..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,
-- 
2.40.1