Add cross build file for kunpeng series ARM SoC and optimize the compile.
Chengchang Tang (2): config: add Hisilicon kunpeng 920 SoC build config: add Hisilicon kunpeng 930 Soc build
config/arm/arm64_kunpeng920_linux_gcc | 19 +++++++++++++++ config/arm/arm64_kunpeng930_linux_gcc | 19 +++++++++++++++ config/arm/meson.build | 27 ++++++++++++++++++++++ .../linux_gsg/cross_build_dpdk_for_arm64.rst | 5 ++++ 4 files changed, 70 insertions(+) create mode 100644 config/arm/arm64_kunpeng920_linux_gcc create mode 100644 config/arm/arm64_kunpeng930_linux_gcc
-- 2.7.4
Updated meson build to support kunpeng 920 SoC. Add kunpeng 920 SoC meson cross compile target.
Signed-off-by: Chengchang Tang tangchengchang@huawei.com --- config/arm/arm64_kunpeng920_linux_gcc | 19 +++++++++++++++++++ config/arm/meson.build | 20 ++++++++++++++++++++ doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst | 4 ++++ 3 files changed, 43 insertions(+) create mode 100644 config/arm/arm64_kunpeng920_linux_gcc
diff --git a/config/arm/arm64_kunpeng920_linux_gcc b/config/arm/arm64_kunpeng920_linux_gcc new file mode 100644 index 0000000..3eeb2e9 --- /dev/null +++ b/config/arm/arm64_kunpeng920_linux_gcc @@ -0,0 +1,19 @@ +[binaries] +c = 'aarch64-linux-gnu-gcc' +cpp = 'aarch64-linux-gnu-cpp' +ar = 'aarch64-linux-gnu-gcc-ar' +strip = 'aarch64-linux-gnu-strip' +pkgconfig = 'aarch64-linux-gnu-pkg-config' +pcap-config = '' + +[host_machine] +system = 'linux' +cpu_family = 'aarch64' +cpu = 'armv8-a' +endian = 'little' + +[properties] +implementer_id = '0x48' +part_number = '0xd01' +max_lcores = 128 +max_numa_nodes = 4 diff --git a/config/arm/meson.build b/config/arm/meson.build index f207e5a..5489376 100644 --- a/config/arm/meson.build +++ b/config/arm/meson.build @@ -134,6 +134,25 @@ implementer_cavium = { } }
+implementer_hisilicon = { + 'description': 'Hisilicon', + 'flags': [ + ['RTE_USE_C11_MEM_MODEL', true], + ['RTE_CACHE_LINE_SIZE', 128], + ['RTE_MAX_NUMA_NODES', 4] + ], + 'part_number_config': { + '0xd01': { + 'machine_args': ['-march=armv8.2-a+crypto', + '-mcpu=tsv110'], + 'flag': [['RTE_MACHINE', '"kunpeng920"'], + ['RTE_MAX_LCORE', 128], + ['RTE_ARM_FEATURE_ATOMICS', true] + ] + } + } +} + implementer_ampere = { 'description': 'Ampere Computing', 'flags': [ @@ -177,6 +196,7 @@ implementers = { 'generic': implementer_generic, '0x41': implementer_arm, '0x43': implementer_cavium, + '0x48': implementer_hisilicon, '0x50': implementer_ampere, '0x56': implementer_marvell, 'dpaa': implementer_dpaa diff --git a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst index d0d346c..57eaf01 100644 --- a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst +++ b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst @@ -110,6 +110,7 @@ you may use various combinations of implementer/part number:: 'generic': Generic armv8 '0x41': Arm '0x43': Cavium + '0x48': Hisilicon '0x50': Ampere Computing '0x56': Marvell ARMADA 'dpaa': NXP DPAA @@ -132,6 +133,9 @@ you may use various combinations of implementer/part number:: '0xaf': thunderx2t99 '0xb2': octeontx2
+ Supported part_numbers for 0x48: + '0xd01': kunpeng920 + Supported part_numbers for 0x50: '0x0': emag
-- 2.7.4
Updated meson build to support kunpeng 930 SoC. Add kunpeng 930 SoC meson cross compile target.
Signed-off-by: Chengchang Tang tangchengchang@huawei.com --- config/arm/arm64_kunpeng930_linux_gcc | 19 +++++++++++++++++++ config/arm/meson.build | 7 +++++++ doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst | 1 + 3 files changed, 27 insertions(+) create mode 100644 config/arm/arm64_kunpeng930_linux_gcc
diff --git a/config/arm/arm64_kunpeng930_linux_gcc b/config/arm/arm64_kunpeng930_linux_gcc new file mode 100644 index 0000000..464e44a --- /dev/null +++ b/config/arm/arm64_kunpeng930_linux_gcc @@ -0,0 +1,19 @@ +[binaries] +c = 'aarch64-linux-gnu-gcc' +cpp = 'aarch64-linux-gnu-cpp' +ar = 'aarch64-linux-gnu-gcc-ar' +strip = 'aarch64-linux-gnu-strip' +pkgconfig = 'aarch64-linux-gnu-pkg-config' +pcap-config = '' + +[host_machine] +system = 'linux' +cpu_family = 'aarch64' +cpu = 'armv8-a' +endian = 'little' + +[properties] +implementer_id = '0x48' +part_number = '0xd02' +max_lcores = 256 +max_numa_nodes = 4 diff --git a/config/arm/meson.build b/config/arm/meson.build index 5489376..4c17828 100644 --- a/config/arm/meson.build +++ b/config/arm/meson.build @@ -149,6 +149,13 @@ implementer_hisilicon = { ['RTE_MAX_LCORE', 128], ['RTE_ARM_FEATURE_ATOMICS', true] ] + }, + '0xd02': { + 'machine_args': ['-march=armv8.2-a+crypto+sve'], + 'flag': [['RTE_MACHINE', '"kunpeng930"'], + ['RTE_MAX_LCORE', 256], + ['RTE_ARM_FEATURE_ATOMICS', true] + ] } } } diff --git a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst index 57eaf01..53b1e0b 100644 --- a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst +++ b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst @@ -135,6 +135,7 @@ you may use various combinations of implementer/part number::
Supported part_numbers for 0x48: '0xd01': kunpeng920 + '0xd02': kunpeng930
Supported part_numbers for 0x50: '0x0': emag -- 2.7.4