On 2021/4/9 16:41, Juraj Linkeš 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.
>
It seems that our SoC configuration patches are block by this series:
https://patchwork.dpdk.org/project/dpdk/list/?series=15918

I reworked our configuration based on this series and then tested it on
our platform (i.e. Kunpeng 920/ Kunpeng 930 SoC).

Tested-by: Chengchang Tang <tangchengch...@huawei.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(-)
> 

Reply via email to