[dpdk-dev] [PATCH v13 0/7] aarch64 -> aarch32 cross compilation support

Juraj Linkeš juraj.linkes at pantheon.tech
Tue Mar 9 09:36:38 CET 2021


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.

Acked-by: Aaron Conole <aconole at redhat.com>

Juraj Linkeš (4):
  net/virtio: fix aarch32 build
  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                        | 24 ++++++++++--
 .../linux_gsg/cross_build_dpdk_for_arm64.rst  | 37 +++++++++++++++----
 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 +-
 9 files changed, 97 insertions(+), 15 deletions(-)
 create mode 100644 config/arm/arm32_armv8a_linux_gcc

-- 
2.20.1



More information about the dev mailing list