[v9,11/14] build: disable Arm drivers

Message ID 1605100718-7991-12-git-send-email-juraj.linkes@pantheon.tech (mailing list archive)
State Superseded, archived
Delegated to: Thomas Monjalon
Headers
Series Arm build options rework |

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Juraj Linkeš Nov. 11, 2020, 1:18 p.m. UTC
  A few options that disabled drivers in the old makefiles were improperly
ported to the meson build system. Fix this by adding a to the list of
disabled drivers, similarly how the command line option works. Remove
unneeded driver options ported from the old makefile system.
Add support for removing drivers for cross builds.

Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
---
 config/arm/arm64_armada_linux_gcc                   | 1 +
 config/arm/meson.build                              | 7 +++----
 doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst | 4 ++++
 drivers/meson.build                                 | 6 +++++-
 meson.build                                         | 1 +
 5 files changed, 14 insertions(+), 5 deletions(-)
  

Comments

Honnappa Nagarahalli Nov. 13, 2020, 5:54 a.m. UTC | #1
<snip>

> 
> A few options that disabled drivers in the old makefiles were improperly
> ported to the meson build system. Fix this by adding a to the list of disabled
> drivers, similarly how the command line option works. Remove unneeded
> driver options ported from the old makefile system.
> Add support for removing drivers for cross builds.
> 
> Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com>

> ---
>  config/arm/arm64_armada_linux_gcc                   | 1 +
>  config/arm/meson.build                              | 7 +++----
>  doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst | 4 ++++
>  drivers/meson.build                                 | 6 +++++-
>  meson.build                                         | 1 +
>  5 files changed, 14 insertions(+), 5 deletions(-)
> 
> diff --git a/config/arm/arm64_armada_linux_gcc
> b/config/arm/arm64_armada_linux_gcc
> index 73945fbb4..7383f42e2 100644
> --- a/config/arm/arm64_armada_linux_gcc
> +++ b/config/arm/arm64_armada_linux_gcc
> @@ -17,3 +17,4 @@ endian = 'little'
>  implementer_id = '0x56'
>  max_lcores = 16
>  max_numa_nodes = 1
> +disabled_drivers = ['bus/dpaa', 'bus/fslmc', 'common/dpaax']
> diff --git a/config/arm/meson.build b/config/arm/meson.build index
> fdc402898..7233db120 100644
> --- a/config/arm/meson.build
> +++ b/config/arm/meson.build
> @@ -3,6 +3,9 @@
>  # Copyright(c) 2017 Cavium, Inc
>  # Copyright(c) 2020 PANTHEON.tech s.r.o.
> 
> +# disable Arm drivers for all builds
> +disabled_drivers += ['net/avp', 'net/fm10k']
> +
>  # common flags to all aarch64 builds, with lowest priority  flags_common = [
>  	# Accelerate rte_memcpy. Be sure to run unit test
> (memcpy_perf_autotest) @@ -17,9 +20,6 @@ flags_common = [
>  	#	['RTE_ARM64_MEMCPY_ALIGN_MASK', 0xF],
>  	#	['RTE_ARM64_MEMCPY_STRICT_ALIGN', false],
> 
> -	['RTE_NET_FM10K', false],
> -	['RTE_NET_AVP', false],
> -
>  	['RTE_SCHED_VECTOR', false],
>  	['RTE_ARM_USE_WFE', false],
>  	['RTE_ARCH_ARM64', true],
> @@ -127,7 +127,6 @@ implementer_cavium = {
>  				['RTE_MACHINE', '"octeontx2"'],
>  				['RTE_ARM_FEATURE_ATOMICS', true],
>  				['RTE_USE_C11_MEM_MODEL', true],
> -				['RTE_EAL_IGB_UIO', false],
>  				['RTE_MAX_LCORE', 36],
>  				['RTE_MAX_NUMA_NODES', 1]
>  			]
> diff --git a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
> b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
> index 4e65b271c..210ad4508 100644
> --- a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
> +++ b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
> @@ -143,3 +143,7 @@ There are other options you may specify in a cross file
> to tailor the build::
>     Supported extra configuration
>        max_numa_nodes = n  # will set RTE_MAX_NUMA_NODES
>        max_lcores = n      # will set RTE_MAX_LCORE
> +
> +      disabled_drivers = ['bus/dpaa', 'crypto']  # add disabled drivers
> +         # valid values are directories (optionally with their subdirs)
> +         # in the drivers directory
> diff --git a/drivers/meson.build b/drivers/meson.build index
> 4bb7e9218..a997387ad 100644
> --- a/drivers/meson.build
> +++ b/drivers/meson.build
> @@ -18,9 +18,13 @@ subdirs = [
>  	'baseband', # depends on common and bus.
>  ]
> 
> -disabled_drivers = run_command(list_dir_globs,
> get_option('disable_drivers'),
> +disabled_drivers += run_command(list_dir_globs,
> +get_option('disable_drivers'),
>  		).stdout().split()
> 
> +if meson.is_cross_build()
> +	disabled_drivers += meson.get_cross_property('disabled_drivers',
> [])
> +endif
> +
>  default_cflags = machine_args
>  default_cflags += ['-DALLOW_EXPERIMENTAL_API']  default_cflags += ['-
> DALLOW_INTERNAL_API'] diff --git a/meson.build b/meson.build index
> 61d9a4f5f..8dadd70dc 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -21,6 +21,7 @@ dpdk_drivers = []
>  dpdk_extra_ldflags = []
>  dpdk_libs_disabled = []
>  dpdk_drvs_disabled = []
> +disabled_drivers = []
>  abi_version_file = files('ABI_VERSION')
> 
>  if host_machine.cpu_family().startswith('x86')
> --
> 2.20.1
  

Patch

diff --git a/config/arm/arm64_armada_linux_gcc b/config/arm/arm64_armada_linux_gcc
index 73945fbb4..7383f42e2 100644
--- a/config/arm/arm64_armada_linux_gcc
+++ b/config/arm/arm64_armada_linux_gcc
@@ -17,3 +17,4 @@  endian = 'little'
 implementer_id = '0x56'
 max_lcores = 16
 max_numa_nodes = 1
+disabled_drivers = ['bus/dpaa', 'bus/fslmc', 'common/dpaax']
diff --git a/config/arm/meson.build b/config/arm/meson.build
index fdc402898..7233db120 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -3,6 +3,9 @@ 
 # Copyright(c) 2017 Cavium, Inc
 # Copyright(c) 2020 PANTHEON.tech s.r.o.
 
+# disable Arm drivers for all builds
+disabled_drivers += ['net/avp', 'net/fm10k']
+
 # common flags to all aarch64 builds, with lowest priority
 flags_common = [
 	# Accelerate rte_memcpy. Be sure to run unit test (memcpy_perf_autotest)
@@ -17,9 +20,6 @@  flags_common = [
 	#	['RTE_ARM64_MEMCPY_ALIGN_MASK', 0xF],
 	#	['RTE_ARM64_MEMCPY_STRICT_ALIGN', false],
 
-	['RTE_NET_FM10K', false],
-	['RTE_NET_AVP', false],
-
 	['RTE_SCHED_VECTOR', false],
 	['RTE_ARM_USE_WFE', false],
 	['RTE_ARCH_ARM64', true],
@@ -127,7 +127,6 @@  implementer_cavium = {
 				['RTE_MACHINE', '"octeontx2"'],
 				['RTE_ARM_FEATURE_ATOMICS', true],
 				['RTE_USE_C11_MEM_MODEL', true],
-				['RTE_EAL_IGB_UIO', false],
 				['RTE_MAX_LCORE', 36],
 				['RTE_MAX_NUMA_NODES', 1]
 			]
diff --git a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
index 4e65b271c..210ad4508 100644
--- a/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
+++ b/doc/guides/linux_gsg/cross_build_dpdk_for_arm64.rst
@@ -143,3 +143,7 @@  There are other options you may specify in a cross file to tailor the build::
    Supported extra configuration
       max_numa_nodes = n  # will set RTE_MAX_NUMA_NODES
       max_lcores = n      # will set RTE_MAX_LCORE
+
+      disabled_drivers = ['bus/dpaa', 'crypto']  # add disabled drivers
+         # valid values are directories (optionally with their subdirs)
+         # in the drivers directory
diff --git a/drivers/meson.build b/drivers/meson.build
index 4bb7e9218..a997387ad 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -18,9 +18,13 @@  subdirs = [
 	'baseband', # depends on common and bus.
 ]
 
-disabled_drivers = run_command(list_dir_globs, get_option('disable_drivers'),
+disabled_drivers += run_command(list_dir_globs, get_option('disable_drivers'),
 		).stdout().split()
 
+if meson.is_cross_build()
+	disabled_drivers += meson.get_cross_property('disabled_drivers', [])
+endif
+
 default_cflags = machine_args
 default_cflags += ['-DALLOW_EXPERIMENTAL_API']
 default_cflags += ['-DALLOW_INTERNAL_API']
diff --git a/meson.build b/meson.build
index 61d9a4f5f..8dadd70dc 100644
--- a/meson.build
+++ b/meson.build
@@ -21,6 +21,7 @@  dpdk_drivers = []
 dpdk_extra_ldflags = []
 dpdk_libs_disabled = []
 dpdk_drvs_disabled = []
+disabled_drivers = []
 abi_version_file = files('ABI_VERSION')
 
 if host_machine.cpu_family().startswith('x86')