From patchwork Wed Apr 15 09:03:08 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Juraj_Linke=C5=A1?= X-Patchwork-Id: 68535 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 04B68A0563; Wed, 15 Apr 2020 11:03:25 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 30BD71D5D3; Wed, 15 Apr 2020 11:03:17 +0200 (CEST) Received: from lb.pantheon.sk (lb.pantheon.sk [46.229.239.20]) by dpdk.org (Postfix) with ESMTP id 2FC421D5AE for ; Wed, 15 Apr 2020 11:03:14 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by lb.pantheon.sk (Postfix) with ESMTP id 52F47B9B2A; Wed, 15 Apr 2020 11:03:13 +0200 (CEST) X-Virus-Scanned: amavisd-new at siecit.sk Received: from lb.pantheon.sk ([127.0.0.1]) by localhost (lb.pantheon.sk [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3KtHfG1_p9PB; Wed, 15 Apr 2020 11:03:12 +0200 (CEST) Received: from service-node1.lab.pantheon.local (unknown [46.229.239.141]) by lb.pantheon.sk (Postfix) with ESMTP id DA33976A46; Wed, 15 Apr 2020 11:03:11 +0200 (CEST) From: =?utf-8?q?Juraj_Linke=C5=A1?= To: bruce.richardson@intel.com, aconole@redhat.com, maicolgabriel@hotmail.com, Ruifeng.Wang@arm.com Cc: dev@dpdk.org, =?utf-8?q?Juraj_Linke=C5=A1?= Date: Wed, 15 Apr 2020 11:03:08 +0200 Message-Id: <1586941391-11094-2-git-send-email-juraj.linkes@pantheon.tech> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1586941391-11094-1-git-send-email-juraj.linkes@pantheon.tech> References: <1586941391-11094-1-git-send-email-juraj.linkes@pantheon.tech> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 1/4] build: port arm32 options from make to meson X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" config/defconfig_arm-armv7a-linux-gcc contains a number of CONFIG_RTE_LIBRTE_ options. Implement those in applicable meson.build files. Signed-off-by: Juraj Linkeš --- drivers/net/ark/meson.build | 6 ++++++ drivers/net/avp/meson.build | 5 +++++ drivers/net/cxgbe/meson.build | 6 ++++++ drivers/net/e1000/meson.build | 6 ++++++ drivers/net/enic/meson.build | 6 ++++++ drivers/net/fm10k/meson.build | 6 ++++++ drivers/net/hinic/meson.build | 6 ++++++ drivers/net/i40e/meson.build | 6 ++++++ drivers/net/ionic/meson.build | 6 ++++++ drivers/net/ixgbe/meson.build | 6 ++++++ drivers/net/qede/meson.build | 6 ++++++ drivers/net/vmxnet3/meson.build | 6 ++++++ lib/librte_vhost/meson.build | 2 +- 13 files changed, 72 insertions(+), 1 deletion(-) diff --git a/drivers/net/ark/meson.build b/drivers/net/ark/meson.build index 99151bba1..8a875cc94 100644 --- a/drivers/net/ark/meson.build +++ b/drivers/net/ark/meson.build @@ -1,6 +1,12 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2018 Intel Corporation +if dpdk_conf.has('RTE_ARCH_ARMv7') + build = false + reason = 'Not supported on 32-bit arm' + subdir_done() +endif + sources = files('ark_ddm.c', 'ark_ethdev.c', 'ark_ethdev_rx.c', diff --git a/drivers/net/avp/meson.build b/drivers/net/avp/meson.build index 793bb185d..f9780ae45 100644 --- a/drivers/net/avp/meson.build +++ b/drivers/net/avp/meson.build @@ -4,7 +4,12 @@ if not is_linux build = false reason = 'only supported on linux' +elif dpdk_conf.has('RTE_ARCH_ARMv7') + build = false + reason = 'Not supported on 32-bit arm' + subdir_done() endif + allow_experimental_apis = true sources = files('avp_ethdev.c') install_headers('rte_avp_common.h', 'rte_avp_fifo.h') diff --git a/drivers/net/cxgbe/meson.build b/drivers/net/cxgbe/meson.build index 3992aba44..526a64fa2 100644 --- a/drivers/net/cxgbe/meson.build +++ b/drivers/net/cxgbe/meson.build @@ -1,6 +1,12 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2018 Intel Corporation +if dpdk_conf.has('RTE_ARCH_ARMv7') + build = false + reason = 'Not supported on 32-bit arm' + subdir_done() +endif + sources = files('cxgbe_ethdev.c', 'cxgbe_main.c', 'cxgbevf_ethdev.c', diff --git a/drivers/net/e1000/meson.build b/drivers/net/e1000/meson.build index d0901d377..90cffa7b1 100644 --- a/drivers/net/e1000/meson.build +++ b/drivers/net/e1000/meson.build @@ -1,6 +1,12 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017 Intel Corporation +if dpdk_conf.has('RTE_ARCH_ARMv7') + build = false + reason = 'Not supported on 32-bit arm' + subdir_done() +endif + allow_experimental_apis = true subdir('base') diff --git a/drivers/net/enic/meson.build b/drivers/net/enic/meson.build index e5eeb5667..69320757d 100644 --- a/drivers/net/enic/meson.build +++ b/drivers/net/enic/meson.build @@ -1,6 +1,12 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2018 Cisco Systems, Inc. +if dpdk_conf.has('RTE_ARCH_ARMv7') + build = false + reason = 'Not supported on 32-bit arm' + subdir_done() +endif + # Experimental APIs used: rte_intr_ack cflags += ['-DALLOW_EXPERIMENTAL_API'] sources = files( diff --git a/drivers/net/fm10k/meson.build b/drivers/net/fm10k/meson.build index 8f6e42392..f74778ae5 100644 --- a/drivers/net/fm10k/meson.build +++ b/drivers/net/fm10k/meson.build @@ -1,6 +1,12 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017 Intel Corporation +if dpdk_conf.has('RTE_ARCH_ARMv7') + build = false + reason = 'Not supported on 32-bit arm' + subdir_done() +endif + allow_experimental_apis = true subdir('base') diff --git a/drivers/net/hinic/meson.build b/drivers/net/hinic/meson.build index bc7e24639..f43368793 100644 --- a/drivers/net/hinic/meson.build +++ b/drivers/net/hinic/meson.build @@ -1,6 +1,12 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017 Huawei Technologies Co., Ltd +if dpdk_conf.has('RTE_ARCH_ARMv7') + build = false + reason = 'Not supported on 32-bit arm' + subdir_done() +endif + subdir('base') objs = [base_objs] diff --git a/drivers/net/i40e/meson.build b/drivers/net/i40e/meson.build index b01babba1..7ace45951 100644 --- a/drivers/net/i40e/meson.build +++ b/drivers/net/i40e/meson.build @@ -1,6 +1,12 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017 Intel Corporation +if dpdk_conf.has('RTE_ARCH_ARMv7') + build = false + reason = 'Not supported on 32-bit arm' + subdir_done() +endif + cflags += ['-DPF_DRIVER', '-DVF_DRIVER', '-DINTEGRATED_VF', diff --git a/drivers/net/ionic/meson.build b/drivers/net/ionic/meson.build index 1c6362d27..14ba0317b 100644 --- a/drivers/net/ionic/meson.build +++ b/drivers/net/ionic/meson.build @@ -1,6 +1,12 @@ # SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0) # Copyright(c) 2019 Pensando +if dpdk_conf.has('RTE_ARCH_ARMv7') + build = false + reason = 'Not supported on 32-bit arm' + subdir_done() +endif + sources = files( 'ionic_mac_api.c', 'ionic_rx_filter.c', diff --git a/drivers/net/ixgbe/meson.build b/drivers/net/ixgbe/meson.build index 06cf42a4a..0c8442b8c 100644 --- a/drivers/net/ixgbe/meson.build +++ b/drivers/net/ixgbe/meson.build @@ -1,6 +1,12 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017 Intel Corporation +if dpdk_conf.has('RTE_ARCH_ARMv7') + build = false + reason = 'Not supported on 32-bit arm' + subdir_done() +endif + cflags += ['-DRTE_LIBRTE_IXGBE_BYPASS'] allow_experimental_apis = true diff --git a/drivers/net/qede/meson.build b/drivers/net/qede/meson.build index 1755719f0..a357daf50 100644 --- a/drivers/net/qede/meson.build +++ b/drivers/net/qede/meson.build @@ -1,6 +1,12 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2018 Luca Boccassi +if dpdk_conf.has('RTE_ARCH_ARMv7') + build = false + reason = 'Not supported on 32-bit arm' + subdir_done() +endif + allow_experimental_apis = true subdir('base') diff --git a/drivers/net/vmxnet3/meson.build b/drivers/net/vmxnet3/meson.build index a92bd2868..f14318a69 100644 --- a/drivers/net/vmxnet3/meson.build +++ b/drivers/net/vmxnet3/meson.build @@ -1,6 +1,12 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2018 Luca Boccassi +if dpdk_conf.has('RTE_ARCH_ARMv7') + build = false + reason = 'Not supported on 32-bit arm' + subdir_done() +endif + allow_experimental_apis = true sources += files( 'vmxnet3_ethdev.c', diff --git a/lib/librte_vhost/meson.build b/lib/librte_vhost/meson.build index ef7a5bced..44d8eda53 100644 --- a/lib/librte_vhost/meson.build +++ b/lib/librte_vhost/meson.build @@ -5,7 +5,7 @@ if not is_linux build = false reason = 'only supported on linux' endif -if has_libnuma == 1 +if has_libnuma == 1 and not dpdk_conf.has('RTE_ARCH_ARMv7') dpdk_conf.set10('RTE_LIBRTE_VHOST_NUMA', true) endif if (toolchain == 'gcc' and cc.version().version_compare('>=8.3.0')) From patchwork Wed Apr 15 09:03:09 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Juraj_Linke=C5=A1?= X-Patchwork-Id: 68537 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5A948A0563; Wed, 15 Apr 2020 11:03:44 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 0E1BE1D617; Wed, 15 Apr 2020 11:03:20 +0200 (CEST) Received: from lb.pantheon.sk (lb.pantheon.sk [46.229.239.20]) by dpdk.org (Postfix) with ESMTP id C16CB1D5BE for ; Wed, 15 Apr 2020 11:03:15 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by lb.pantheon.sk (Postfix) with ESMTP id CF7E576A46; Wed, 15 Apr 2020 11:03:14 +0200 (CEST) X-Virus-Scanned: amavisd-new at siecit.sk Received: from lb.pantheon.sk ([127.0.0.1]) by localhost (lb.pantheon.sk [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id D6FgApRMAKQx; Wed, 15 Apr 2020 11:03:13 +0200 (CEST) Received: from service-node1.lab.pantheon.local (unknown [46.229.239.141]) by lb.pantheon.sk (Postfix) with ESMTP id 386A7B9311; Wed, 15 Apr 2020 11:03:12 +0200 (CEST) From: =?utf-8?q?Juraj_Linke=C5=A1?= To: bruce.richardson@intel.com, aconole@redhat.com, maicolgabriel@hotmail.com, Ruifeng.Wang@arm.com Cc: dev@dpdk.org, =?utf-8?q?Juraj_Linke=C5=A1?= Date: Wed, 15 Apr 2020 11:03:09 +0200 Message-Id: <1586941391-11094-3-git-send-email-juraj.linkes@pantheon.tech> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1586941391-11094-1-git-send-email-juraj.linkes@pantheon.tech> References: <1586941391-11094-1-git-send-email-juraj.linkes@pantheon.tech> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 2/4] build: add arm32 meson build flags X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Signed-off-by: Juraj Linkeš --- config/arm/meson.build | 135 +++++++++++++++++++++++++++---------------------- 1 file changed, 74 insertions(+), 61 deletions(-) diff --git a/config/arm/meson.build b/config/arm/meson.build index 6e75e6d97..746113849 100644 --- a/config/arm/meson.build +++ b/config/arm/meson.build @@ -34,6 +34,11 @@ flags_generic = [ ['RTE_MAX_LCORE', 256], ['RTE_USE_C11_MEM_MODEL', true], ['RTE_CACHE_LINE_SIZE', 128]] +flags_generic_arm32 = [ + ['RTE_MACHINE', '"armv7a"'], + ['RTE_MAX_LCORE', 128], + ['RTE_USE_C11_MEM_MODEL', false], + ['RTE_CACHE_LINE_SIZE', 64]] flags_arm = [ ['RTE_MACHINE', '"armv8a"'], ['RTE_MAX_LCORE', 16], @@ -63,6 +68,10 @@ flags_armada = [ ['RTE_MAX_LCORE', 16]] flags_default_extra = [] +flags_default_arm32_extra = [ + ['RTE_ARCH_ARM_NEON_MEMCPY', false], + ['RTE_ARCH_STRICT_ALIGN', true], + ['RTE_EAL_NUMA_AWARE_HUGEPAGES', false]] flags_n1sdp_extra = [ ['RTE_MACHINE', '"n1sdp"'], ['RTE_MAX_NUMA_NODES', 1], @@ -99,6 +108,9 @@ machine_args_generic = [ ['0xd0b', ['-mcpu=cortex-a76']], ['0xd0c', ['-march=armv8.2-a+crc+crypto', '-mcpu=neoverse-n1'], flags_n1sdp_extra]] +machine_args_generic_arm32 = [ + ['default_arm32', ['-march=armv7-a', '-mtune=cortex-a9', '-mfpu=neon'], flags_default_arm32_extra]] + machine_args_cavium = [ ['default', ['-march=armv8-a+crc+crypto','-mcpu=thunderx']], ['native', ['-march=native']], @@ -114,6 +126,7 @@ machine_args_emag = [ ## Arm implementer ID (ARM DDI 0487C.a, Section G7.2.106, Page G7-5321) impl_generic = ['Generic armv8', flags_generic, machine_args_generic] +impl_generic_arm32 = ['Generic armv7', flags_generic_arm32, machine_args_generic_arm32] impl_0x41 = ['Arm', flags_arm, machine_args_generic] impl_0x42 = ['Broadcom', flags_generic, machine_args_generic] impl_0x43 = ['Cavium', flags_cavium, machine_args_cavium] @@ -136,74 +149,74 @@ if not dpdk_conf.get('RTE_ARCH_64') dpdk_conf.set('RTE_ARCH_ARMv7', 1) # the minimum architecture supported, armv7-a, needs the following, # mk/machine/armv7a/rte.vars.mk sets it too - machine_args += '-mfpu=neon' else dpdk_conf.set('RTE_CACHE_LINE_SIZE', 128) dpdk_conf.set('RTE_ARCH_ARM64', 1) +endif - machine = [] - cmd_generic = ['generic', '', '', 'default', ''] - cmd_output = cmd_generic # Set generic by default - machine_args = [] # Clear previous machine args - if arm_force_default_march and not meson.is_cross_build() +machine = [] +machine_args = [] # Clear previous machine args +cmd_generic = ['generic', '', '', 'default', ''] +cmd_output = cmd_generic # Set generic by default +if arm_force_default_march and not meson.is_cross_build() + machine = impl_generic + impl_pn = 'default' +elif not meson.is_cross_build() + # The script returns ['Implementer', 'Variant', 'Architecture', + # 'Primary Part number', 'Revision'] + detect_vendor = find_program(join_paths( + meson.current_source_dir(), 'armv8_machine.py')) + cmd = run_command(detect_vendor.path()) + if cmd.returncode() == 0 + cmd_output = cmd.stdout().to_lower().strip().split(' ') + endif + # Set to generic if variable is not found + machine = get_variable('impl_' + cmd_output[0], ['generic']) + if machine[0] == 'generic' machine = impl_generic - impl_pn = 'default' - elif not meson.is_cross_build() - # The script returns ['Implementer', 'Variant', 'Architecture', - # 'Primary Part number', 'Revision'] - detect_vendor = find_program(join_paths( - meson.current_source_dir(), 'armv8_machine.py')) - cmd = run_command(detect_vendor.path()) - if cmd.returncode() == 0 - cmd_output = cmd.stdout().to_lower().strip().split(' ') - endif - # Set to generic if variable is not found - machine = get_variable('impl_' + cmd_output[0], ['generic']) - if machine[0] == 'generic' - machine = impl_generic - cmd_output = cmd_generic - endif - impl_pn = cmd_output[3] - if arm_force_native_march == true - impl_pn = 'native' - endif - else - impl_id = meson.get_cross_property('implementor_id', 'generic') - impl_pn = meson.get_cross_property('implementor_pn', 'default') - machine = get_variable('impl_' + impl_id) + cmd_output = cmd_generic endif - - # Apply Common Defaults. These settings may be overwritten by machine - # settings later. - foreach flag: flags_common_default - if flag.length() > 0 - dpdk_conf.set(flag[0], flag[1]) - endif - endforeach - - message('Implementer : ' + machine[0]) - foreach flag: machine[1] - if flag.length() > 0 - dpdk_conf.set(flag[0], flag[1]) - endif - endforeach - - foreach marg: machine[2] - if marg[0] == impl_pn - foreach flag: marg[1] - if cc.has_argument(flag) - machine_args += flag - endif - endforeach - # Apply any extra machine specific flags. - foreach flag: marg.get(2, flags_default_extra) - if flag.length() > 0 - dpdk_conf.set(flag[0], flag[1]) - endif - endforeach - endif - endforeach + impl_pn = cmd_output[3] + if arm_force_native_march == true + impl_pn = 'native' + endif +else + impl_id = meson.get_cross_property('implementor_id', 'generic') + impl_pn = meson.get_cross_property('implementor_pn', 'default') + machine = get_variable('impl_' + impl_id) endif + +# Apply Common Defaults. These settings may be overwritten by machine +# settings later. +foreach flag: flags_common_default + if flag.length() > 0 + dpdk_conf.set(flag[0], flag[1]) + endif +endforeach + +message('Implementer : ' + machine[0]) +foreach flag: machine[1] + if flag.length() > 0 + dpdk_conf.set(flag[0], flag[1]) + endif +endforeach + +foreach marg: machine[2] + if marg[0] == impl_pn + foreach flag: marg[1] + if cc.has_argument(flag) + machine_args += flag + endif + endforeach + # Apply any extra machine specific flags. + foreach flag: marg.get(2, flags_default_extra) + if flag.length() > 0 + dpdk_conf.set(flag[0], flag[1]) + message('Setting flag: @0@: @1@'.format(flag[0], flag[1])) + endif + endforeach + endif +endforeach message(machine_args) if (cc.get_define('__ARM_NEON', args: machine_args) != '' or From patchwork Wed Apr 15 09:03:10 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Juraj_Linke=C5=A1?= X-Patchwork-Id: 68536 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6EE17A0563; Wed, 15 Apr 2020 11:03:36 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 9C5DA1D5FD; Wed, 15 Apr 2020 11:03:18 +0200 (CEST) Received: from lb.pantheon.sk (lb.pantheon.sk [46.229.239.20]) by dpdk.org (Postfix) with ESMTP id B99731D5BC for ; Wed, 15 Apr 2020 11:03:15 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by lb.pantheon.sk (Postfix) with ESMTP id BD9C86B1A0; Wed, 15 Apr 2020 11:03:14 +0200 (CEST) X-Virus-Scanned: amavisd-new at siecit.sk Received: from lb.pantheon.sk ([127.0.0.1]) by localhost (lb.pantheon.sk [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id T3v5aBy66QjY; Wed, 15 Apr 2020 11:03:14 +0200 (CEST) Received: from service-node1.lab.pantheon.local (unknown [46.229.239.141]) by lb.pantheon.sk (Postfix) with ESMTP id 86D01B931F; Wed, 15 Apr 2020 11:03:12 +0200 (CEST) From: =?utf-8?q?Juraj_Linke=C5=A1?= To: bruce.richardson@intel.com, aconole@redhat.com, maicolgabriel@hotmail.com, Ruifeng.Wang@arm.com Cc: dev@dpdk.org, =?utf-8?q?Juraj_Linke=C5=A1?= Date: Wed, 15 Apr 2020 11:03:10 +0200 Message-Id: <1586941391-11094-4-git-send-email-juraj.linkes@pantheon.tech> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1586941391-11094-1-git-send-email-juraj.linkes@pantheon.tech> References: <1586941391-11094-1-git-send-email-juraj.linkes@pantheon.tech> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 3/4] build: add arm32 meson cross file X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Signed-off-by: Juraj Linkeš --- config/arm/arm_armv7a_linux_gcc | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 config/arm/arm_armv7a_linux_gcc diff --git a/config/arm/arm_armv7a_linux_gcc b/config/arm/arm_armv7a_linux_gcc new file mode 100644 index 000000000..39566d2ea --- /dev/null +++ b/config/arm/arm_armv7a_linux_gcc @@ -0,0 +1,17 @@ +[binaries] +c = 'arm-linux-gnueabihf-gcc' +cpp = 'arm-linux-gnueabihf-cpp' +ar = 'arm-linux-gnueabihf-gcc-ar' +strip = 'arm-linux-gnueabihf-strip' +pkgconfig = 'arm-linux-gnueabihf-pkg-config' +pcap-config = '' + +[host_machine] +system = 'linux' +cpu_family = 'arm' +cpu = 'armv7-a' +endian = 'little' + +[properties] +implementor_id = 'generic_arm32' +implementor_pn = 'default_arm32' From patchwork Wed Apr 15 09:03:11 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Juraj_Linke=C5=A1?= X-Patchwork-Id: 68538 X-Patchwork-Delegate: david.marchand@redhat.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 935DBA0563; Wed, 15 Apr 2020 11:03:59 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id CA1C71D63C; Wed, 15 Apr 2020 11:03:21 +0200 (CEST) Received: from lb.pantheon.sk (lb.pantheon.sk [46.229.239.20]) by dpdk.org (Postfix) with ESMTP id C4A771D5C0 for ; Wed, 15 Apr 2020 11:03:16 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by lb.pantheon.sk (Postfix) with ESMTP id 42C79B9311; Wed, 15 Apr 2020 11:03:16 +0200 (CEST) X-Virus-Scanned: amavisd-new at siecit.sk Received: from lb.pantheon.sk ([127.0.0.1]) by localhost (lb.pantheon.sk [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ybi0jkwFtHMc; Wed, 15 Apr 2020 11:03:15 +0200 (CEST) Received: from service-node1.lab.pantheon.local (unknown [46.229.239.141]) by lb.pantheon.sk (Postfix) with ESMTP id D68BDB997B; Wed, 15 Apr 2020 11:03:12 +0200 (CEST) From: =?utf-8?q?Juraj_Linke=C5=A1?= To: bruce.richardson@intel.com, aconole@redhat.com, maicolgabriel@hotmail.com, Ruifeng.Wang@arm.com Cc: dev@dpdk.org, =?utf-8?q?Juraj_Linke=C5=A1?= Date: Wed, 15 Apr 2020 11:03:11 +0200 Message-Id: <1586941391-11094-5-git-send-email-juraj.linkes@pantheon.tech> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1586941391-11094-1-git-send-email-juraj.linkes@pantheon.tech> References: <1586941391-11094-1-git-send-email-juraj.linkes@pantheon.tech> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v3 4/4] ci: add aarch64 -> arm32 cross compiling jobs X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Signed-off-by: Juraj Linkeš --- .ci/linux-build.sh | 7 ++++++- .travis.yml | 19 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index d500c4c00..991e61d08 100755 --- a/.ci/linux-build.sh +++ b/.ci/linux-build.sh @@ -33,6 +33,11 @@ if [ "$AARCH64" = "1" ]; then OPTS="$OPTS --cross-file config/arm/arm64_armv8_linux_gcc" fi +if [ "$ARM" = "1" ]; then + # convert the arch specifier + OPTS="$OPTS --cross-file config/arm/arm_armv7a_linux_gcc" +fi + if [ "$BUILD_DOCS" = "1" ]; then OPTS="$OPTS -Denable_docs=true" fi @@ -47,7 +52,7 @@ OPTS="$OPTS --buildtype=debugoptimized" meson build --werror -Dexamples=all $OPTS ninja -C build -if [ "$AARCH64" != "1" ]; then +if [ "$AARCH64" != "1" ] && [ "$ARM" != "1" ]; then devtools/test-null.sh fi diff --git a/.travis.yml b/.travis.yml index fd4f79cfc..6bf1d13da 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,6 +21,10 @@ _aarch64_packages: &aarch64_packages - *required_packages - [gcc-aarch64-linux-gnu, libc6-dev-arm64-cross, pkg-config-aarch64-linux-gnu] +_arm_packages: &arm_packages + - *required_packages + - [gcc-arm-linux-gnueabihf, libc6-dev-armhf-cross, pkg-config-arm-linux-gnueabihf] + _libabigail_build_packages: &libabigail_build_packages - [autoconf, automake, libtool, pkg-config, libxml2-dev, libdw-dev] @@ -124,6 +128,21 @@ jobs: packages: - *required_packages - *libabigail_build_packages + # aarch64 cross-compiling arm jobs + - env: DEF_LIB="shared" ARM=1 + arch: arm64 + compiler: gcc + addons: + apt: + packages: + - *arm_packages + - env: DEF_LIB="static" ARM=1 + arch: arm64 + compiler: gcc + addons: + apt: + packages: + - *arm_packages # aarch64 clang jobs - env: DEF_LIB="static" arch: arm64