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.

v17:
Fixed build condition in 1/8, updated 4/8.

Acked-by: Aaron Conole <acon...@redhat.com>

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/eal/arm/include/rte_cpuflags_32.h         |  1 +
 lib/eal/arm/rte_cpuflags.c                    | 10 ++++-
 11 files changed, 113 insertions(+), 19 deletions(-)
 create mode 100644 config/arm/arm32_armv8a_linux_gcc

-- 
2.20.1

Reply via email to