[dpdk-dev] [PATCH v19 0/3] Arm build options rework

Jerin Jacob jerinjacobk at gmail.com
Fri Apr 9 10:54:57 CEST 2021


On Fri, Apr 9, 2021 at 2:11 PM Juraj Linkeš <juraj.linkes at pantheon.tech> wrote:
>
> The current way of specifying Arm configuration options is insufficient
> since we can't identify the SoC we're building for from the MIDR
> information. For example, we can't distinguish between N1SDP, Graviton2
> or Ampere Altra.
>
> We also want to be able to enable/disable which drivers are built
> without user input. This is useful when building:
> 1. on an SoC that is slow and we want to build only what is necessary
>   without the user having to check which libraries they have installed
> 2. a cross build on a fast aarch64 machine but with target SoC which
>   differs in capabilities or libraries.
> This is achieved by specifying the drivers in SoC configuration.
>
> The current implementation adds/supports the following:
> * x86 -> aarch64 cross build with added config options/enabled or
>   disabled drivers/libs
> * aarch64 -> aarch64 builds for a different SoCs using meson -Dplatform
>   option or using a cross file
>
> v16:
> Only three commits remaining - updated the cover letter.
> Renamed the 'soc' meson option to 'platform'.
> Added the support for enabling a particular set of drivers.
> Aligned enabling and disabling with the command line option so that
> wildcards can be used.
>
> v17:
> Removed unnecessary comments in "build: disable/enable drivers in Arm
> builds". Also always enabled two drivers which break the build if
> disabled.
>
> v18:
> Rebased.
>
> v19:
> Updated 3/3 with more up to date MAX_LCORE and MAX_NUMA_NODES for
> neoverse-n1.

There are other SoC target addition patches are blocked by this series.
This series looks good to me. Request to merge this before RC1.


Tested for octeontx2/Thunderx.

Series-Tested-by: Jerin Jacob <jerinj at marvell.com>


>
> Juraj Linkeš (3):
>   build: disable/enable drivers in Arm builds
>   build: add 'platform' meson option and Arm SoC config
>   config: fix Arm implementer and its SoCs
>
>  config/arm/arm64_armada_linux_gcc             |   6 +-
>  config/arm/arm64_armv8_linux_clang_ubuntu1804 |   3 +-
>  config/arm/arm64_armv8_linux_gcc              |   5 +-
>  config/arm/arm64_bluefield_linux_gcc          |   6 +-
>  config/arm/arm64_dpaa_linux_gcc               |   6 +-
>  config/arm/arm64_emag_linux_gcc               |   5 +-
>  config/arm/arm64_graviton2_linux_gcc          |   6 +-
>  config/arm/arm64_n1sdp_linux_gcc              |   6 +-
>  config/arm/arm64_n2_linux_gcc                 |   6 +-
>  config/arm/arm64_octeontx2_linux_gcc          |   6 +-
>  config/arm/arm64_stingray_linux_gcc           |   6 +-
>  config/arm/arm64_thunderx2_linux_gcc          |   5 +-
>  config/arm/arm64_thunderxt88_linux_gcc        |   5 +-
>  config/arm/meson.build                        | 180 +++++++++++++++---
>  .../linux_gsg/cross_build_dpdk_for_arm64.rst  |  76 +++-----
>  drivers/meson.build                           |  49 ++++-
>  meson.build                                   |   2 +
>  meson_options.txt                             |   4 +
>  18 files changed, 242 insertions(+), 140 deletions(-)
>
> --
> 2.20.1
>


More information about the dev mailing list