RE: [PATCH v2] config/arm: add Ampere AmpereOneX platform
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
> -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
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
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
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
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
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
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
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
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
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
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
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
> -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
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