From patchwork Wed Apr 21 08:50:12 2021 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: 91936 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 06CC3A0548; Wed, 21 Apr 2021 10:50:25 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BD692419D3; Wed, 21 Apr 2021 10:50:25 +0200 (CEST) Received: from lb.pantheon.sk (lb.pantheon.sk [46.229.239.20]) by mails.dpdk.org (Postfix) with ESMTP id C38404195D for ; Wed, 21 Apr 2021 10:50:24 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by lb.pantheon.sk (Postfix) with ESMTP id 86D32C5F5D; Wed, 21 Apr 2021 10:50:23 +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 TOD_5bNI2zES; Wed, 21 Apr 2021 10:50:22 +0200 (CEST) Received: from service-node1.lab.pantheon.local (unknown [46.229.239.141]) by lb.pantheon.sk (Postfix) with ESMTP id 89036C5675; Wed, 21 Apr 2021 10:50:21 +0200 (CEST) From: =?utf-8?q?Juraj_Linke=C5=A1?= To: thomas@monjalon.net, david.marchand@redhat.com, bruce.richardson@intel.com, aconole@redhat.com, maicolgabriel@hotmail.com Cc: juraj.linkes@pantheon.tech, dev@dpdk.org Date: Wed, 21 Apr 2021 10:50:12 +0200 Message-Id: <1618995020-4775-1-git-send-email-juraj.linkes@pantheon.tech> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1615988163-17371-1-git-send-email-juraj.linkes@pantheon.tech> References: <1615988163-17371-1-git-send-email-juraj.linkes@pantheon.tech> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v16 0/8] aarch64 -> aarch32 cross compilation support X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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" Add support for aarch32 cross build in meson and add aarch64 -> aarch32 cross build to Travis. Aarch32 is an execution state that allows execution of 32-bit code on armv8 machines. This execution state contains a superset of previous armv7 32-bit instructions and features. Thus the aarch32 build is distinct from arvm7 build. v4: Removed disabled drivers which actually build on arm32. Also tested the patchset with series 9609 which fixes underlying failures. v5: Changed the condition for running test-null.sh in ci. Re-uploaded after underlying fixes have been committed. v6: Changed the condition for running test-null.sh again. Reworked the patch to do aarch32 build instead of arvm7-a build. Simplified meson build flags. Changed commit msgs. Added 32b qualifier to .travis.yml. Added a patch with fixes for bnxt. Added a patch with cross compilation docs. v7: Rebased the patchset. v8: Removed Makefile additions from net/bnxt patch. v9: Changed ci test-null.sh condition, only run it if not cross-compiling aarch64 nor aarch32. Cleaned up docs. v10: Fixed doc: add aarch32 build guidance commit message. v11: Rebase and fix scf and bnxt after rebase. v12: Dropped one superfluous net/bnxt patch. v13: Rebased and fixed net/virtio build by removing NEON for aarch32. v14: Fixed docs build. v15: Rebased. v16: Updated arm CPU flags. Acked-by: Aaron Conole Juraj Linkeš (5): net/virtio: fix aarch32 build eal/arm: update CPU flags build: add aarch32 meson build flags build: add aarch32 to meson cross-compilation ci: add aarch64 -> aarch32 cross compiling jobs Phil Yang (1): doc: add aarch32 build guidance Ruifeng Wang (2): net/sfc: fix aarch32 build net/bnxt: fix aarch32 build .ci/linux-build.sh | 7 +++- .travis.yml | 19 ++++++++++ config/arm/arm32_armv8a_linux_gcc | 17 +++++++++ config/arm/meson.build | 32 +++++++++++++--- .../linux_gsg/cross_build_dpdk_for_arm64.rst | 38 +++++++++++++++---- drivers/common/sfc_efx/meson.build | 2 +- drivers/net/bnxt/meson.build | 2 +- drivers/net/sfc/meson.build | 2 +- drivers/net/virtio/meson.build | 2 +- lib/librte_eal/arm/include/rte_cpuflags_32.h | 1 + lib/librte_eal/arm/rte_cpuflags.c | 9 ++++- 11 files changed, 111 insertions(+), 20 deletions(-) create mode 100644 config/arm/arm32_armv8a_linux_gcc