[v9,11/14] build: disable Arm drivers
Checks
Commit Message
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
<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
@@ -17,3 +17,4 @@ endian = 'little'
implementer_id = '0x56'
max_lcores = 16
max_numa_nodes = 1
+disabled_drivers = ['bus/dpaa', 'bus/fslmc', 'common/dpaax']
@@ -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]
]
@@ -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
@@ -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']
@@ -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')