[RFC,v2,0/6] Arm build options rework

Message ID 1602600882-695-1-git-send-email-juraj.linkes@pantheon.tech (mailing list archive)


Juraj LinkeŇ° Oct. 13, 2020, 2:54 p.m. UTC
  The current way of specifying Arm configuration options is insufficient
since we can't identify the SoC we're building for from the MIDR

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

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.

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