From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0F5E7A04B7; Tue, 13 Oct 2020 16:54:55 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E31031DB0C; Tue, 13 Oct 2020 16:54:53 +0200 (CEST) Received: from lb.pantheon.sk (lb.pantheon.sk [46.229.239.20]) by dpdk.org (Postfix) with ESMTP id A36B11DA9E for ; Tue, 13 Oct 2020 16:54:51 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by lb.pantheon.sk (Postfix) with ESMTP id 3995DB6B48; Tue, 13 Oct 2020 16:54:48 +0200 (CEST) X-Virus-Scanned: amavisd-new at siecit.sk Received: from lb.pantheon.sk ([127.0.0.1]) by localhost (lb.pantheon.sk [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aVkhpYhrcaEw; Tue, 13 Oct 2020 16:54:46 +0200 (CEST) Received: from service-node1.lab.pantheon.local (unknown [46.229.239.141]) by lb.pantheon.sk (Postfix) with ESMTP id C3C2BAB04C; Tue, 13 Oct 2020 16:54:45 +0200 (CEST) From: =?UTF-8?q?Juraj=20Linke=C5=A1?= To: bruce.richardson@intel.com, Ruifeng.Wang@arm.com, Honnappa.Nagarahalli@arm.com, Phil.Yang@arm.com, vcchunga@amazon.com, Dharmik.Thakkar@arm.com, jerinjacobk@gmail.com, hemant.agrawal@nxp.com Cc: dev@dpdk.org, =?UTF-8?q?Juraj=20Linke=C5=A1?= Date: Tue, 13 Oct 2020 16:54:36 +0200 Message-Id: <1602600882-695-1-git-send-email-juraj.linkes@pantheon.tech> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1600867161-15673-1-git-send-email-juraj.linkes@pantheon.tech> References: <1600867161-15673-1-git-send-email-juraj.linkes@pantheon.tech> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [dpdk-dev] [RFC PATCH v2 0/6] Arm build options rework X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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. Add a way to discover cpu count a numa node count and use that instead of statically defined values. This augments the current native builds. A bonus is that users may now use -Dmax_lcores and -Dmax_numa_nodes to configure those from command line, which didn't work before for Arm builds. For cross builds, the cpu count and numa node count are specified in cross files. We also want to be able to disable which drivers (and possibly libraries) 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 cross files. Only libnuma can be now disabled. v2: Major rework of the whole series. Juraj Linkeš (6): build: rename default Arm build to generic-armv8 build: refactor Arm build build: automatic NUMA and cpu counts detection build: move core and NUMA counts to cross files build: disable Arm drivers build: update Arm builds with makefile flags buildtools/get_cpu_count.py | 7 + buildtools/get_numa_count.py | 17 ++ buildtools/meson.build | 2 + config/arm/arm64_armada_linux_gcc | 6 +- config/arm/arm64_armv8_linux_gcc | 17 +- config/arm/arm64_bluefield_linux_gcc | 6 +- config/arm/arm64_dpaa_linux_gcc | 5 +- config/arm/arm64_emag_linux_gcc | 4 +- config/arm/arm64_n1sdp_linux_gcc | 7 +- config/arm/arm64_octeontx2_linux_gcc | 7 +- config/arm/arm64_stingray_linux_gcc | 6 +- config/arm/arm64_thunderx2_linux_gcc | 6 +- config/arm/arm64_thunderx_linux_gcc | 4 +- config/arm/meson.build | 293 +++++++++++++++------------ config/meson.build | 23 ++- drivers/meson.build | 6 +- meson.build | 1 + meson_options.txt | 8 +- 18 files changed, 267 insertions(+), 158 deletions(-) create mode 100644 buildtools/get_cpu_count.py create mode 100644 buildtools/get_numa_count.py -- 2.20.1