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(-) >