* [PATCH] config/arm: add Ampere Altra/AltraMax/AmpereOne platform @ 2023-06-11 5:03 Yutang Jiang 2023-06-12 14:48 ` Yutang Jiang 0 siblings, 1 reply; 4+ messages in thread From: Yutang Jiang @ 2023-06-11 5:03 UTC (permalink / raw) To: dev; +Cc: patches, yutang.jiang, jiangyutang 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 <yutang.jiang@amperecomputing.com> Signed-off-by: Yutang Jiang <jiangyutang@os.amperecomputing.com> --- 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 0000000000..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 0000000000..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 ^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: [PATCH] config/arm: add Ampere Altra/AltraMax/AmpereOne platform 2023-06-11 5:03 [PATCH] config/arm: add Ampere Altra/AltraMax/AmpereOne platform Yutang Jiang @ 2023-06-12 14:48 ` Yutang Jiang 2023-06-13 8:18 ` Ruifeng Wang 0 siblings, 1 reply; 4+ messages in thread From: Yutang Jiang @ 2023-06-12 14:48 UTC (permalink / raw) To: Ruifeng Wang; +Cc: Open Source Submission, dev, Yutang Jiang OS Hi Ruifeng, Please help me review this patch. Thank you very much. Best Regards, Yutang Jiang -----Original Message----- From: Yutang Jiang OS <jiangyutang@os.amperecomputing.com> Sent: Sunday, June 11, 2023 1:03 PM To: dev@dpdk.org Cc: Open Source Submission <patches@amperecomputing.com>; Yutang Jiang <yutang.jiang@amperecomputing.com>; Yutang Jiang OS <jiangyutang@os.amperecomputing.com> 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 <yutang.jiang@amperecomputing.com> Signed-off-by: Yutang Jiang <jiangyutang@os.amperecomputing.com> --- 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 0000000000..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 0000000000..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 ^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: [PATCH] config/arm: add Ampere Altra/AltraMax/AmpereOne platform 2023-06-12 14:48 ` Yutang Jiang @ 2023-06-13 8:18 ` Ruifeng Wang 2023-06-15 11:12 ` Yutang Jiang 0 siblings, 1 reply; 4+ messages in thread From: Ruifeng Wang @ 2023-06-13 8:18 UTC (permalink / raw) To: Yutang Jiang Cc: Open Source Submission, dev, Yutang Jiang OS, Juraj Linkeš, nd > -----Original Message----- > From: Yutang Jiang <yutang.jiang@amperecomputing.com> > Sent: Monday, June 12, 2023 10:48 PM > To: Ruifeng Wang <Ruifeng.Wang@arm.com> > Cc: Open Source Submission <patches@amperecomputing.com>; dev@dpdk.org; Yutang Jiang OS > <jiangyutang@os.amperecomputing.com> > 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 <jiangyutang@os.amperecomputing.com> > Sent: Sunday, June 11, 2023 1:03 PM > To: dev@dpdk.org > Cc: Open Source Submission <patches@amperecomputing.com>; Yutang Jiang > <yutang.jiang@amperecomputing.com>; Yutang Jiang OS <jiangyutang@os.amperecomputing.com> > 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 <yutang.jiang@amperecomputing.com> > Signed-off-by: Yutang Jiang <jiangyutang@os.amperecomputing.com> > --- > 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 0000000000..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 0000000000..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', eMag is defined as armv8.2-a in cross file. Do you want to update march to armv8.2-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] Add MAX_NUMA_NODES here. > + ] > } > } > } > @@ -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] These two flags are redundant. MAX_LCORE & MAX_NUMA_NODES are already in corresponding part_number_config. > + ], > + 'numa': true > +} > + > +soc_ampereone = { > + 'description': 'Ampere AmpereOne', > + 'implementer': '0xc0', > + 'part_number': '0xac3', > + 'flags': [ > + ['RTE_MAX_LCORE', 320], > + ['RTE_MAX_NUMA_NODES', 8] Same here. > + ], > + '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 ^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: [PATCH] config/arm: add Ampere Altra/AltraMax/AmpereOne platform 2023-06-13 8:18 ` Ruifeng Wang @ 2023-06-15 11:12 ` Yutang Jiang 0 siblings, 0 replies; 4+ messages in thread From: Yutang Jiang @ 2023-06-15 11:12 UTC (permalink / raw) To: Ruifeng Wang Cc: Open Source Submission, dev, Yutang Jiang OS, Juraj Linkeš, nd > -----Original Message----- > From: Ruifeng Wang <Ruifeng.Wang@arm.com> > Sent: Tuesday, June 13, 2023 4:18 PM > To: Yutang Jiang <yutang.jiang@amperecomputing.com> > Cc: Open Source Submission <patches@amperecomputing.com>; > dev@dpdk.org; Yutang Jiang OS <jiangyutang@os.amperecomputing.com>; > Juraj Linkeš <juraj.linkes@pantheon.tech>; nd <nd@arm.com> > 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 <yutang.jiang@amperecomputing.com> > > Sent: Monday, June 12, 2023 10:48 PM > > To: Ruifeng Wang <Ruifeng.Wang@arm.com> > > Cc: Open Source Submission <patches@amperecomputing.com>; > > dev@dpdk.org; Yutang Jiang OS <jiangyutang@os.amperecomputing.com> > > 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 <jiangyutang@os.amperecomputing.com> > > Sent: Sunday, June 11, 2023 1:03 PM > > To: dev@dpdk.org > > Cc: Open Source Submission <patches@amperecomputing.com>; Yutang > Jiang > > <yutang.jiang@amperecomputing.com>; Yutang Jiang OS > > <jiangyutang@os.amperecomputing.com> > > 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 <yutang.jiang@amperecomputing.com> > > Signed-off-by: Yutang Jiang <jiangyutang@os.amperecomputing.com> > > --- > > 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 0000000000..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 0000000000..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', > > eMag is defined as armv8.2-a in cross file. > Do you want to update march to armv8.2-a? [Yutang Jiang] The march definition in eMAG cross file and here are both 'armv8-a', I have not made any changes. The definition in the newly added Altra cross file is armv8.2-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] > > Add MAX_NUMA_NODES here. [Yutang Jiang] Yes, I will add MAX_NUMA_NODES definitions in the next version patch. > > > + ] > > } > > } > > } > > @@ -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] > > These two flags are redundant. MAX_LCORE & MAX_NUMA_NODES are > already in corresponding part_number_config. [Yutang Jiang] Yes, I will remove these two duplicate definitions in the next version patch. > > > + ], > > + 'numa': true > > +} > > + > > +soc_ampereone = { > > + 'description': 'Ampere AmpereOne', > > + 'implementer': '0xc0', > > + 'part_number': '0xac3', > > + 'flags': [ > > + ['RTE_MAX_LCORE', 320], > > + ['RTE_MAX_NUMA_NODES', 8] > > Same here. [Yutang Jiang] Yes, I will remove these two duplicate definitions in the next version patch. > > > + ], > > + '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 ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-06-15 11:12 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2023-06-11 5:03 [PATCH] config/arm: add Ampere Altra/AltraMax/AmpereOne platform Yutang Jiang 2023-06-12 14:48 ` Yutang Jiang 2023-06-13 8:18 ` Ruifeng Wang 2023-06-15 11:12 ` Yutang Jiang
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).