[dpdk-dev] [PATCH v8 12/14] build: disable Arm drivers

Honnappa Nagarahalli Honnappa.Nagarahalli at arm.com
Tue Nov 10 00:27:15 CET 2020


<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
> > The fixes need to be separated into a different commit as they need to
> > be backported.
> > It would be good to get the fix patch as the first patch, it will be
> > easy to backport.
> >
> 
> Ok, I'll add support for disabling drivers for native and cross builds (that will be
> an independent easily portable change) and put the rest into a separate patch.
> That would be a compromise between v7 and v8.
I did not understand the last sentence.

> 
> > > 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 at pantheon.tech>
> > > Acked-by: Bruce Richardson <bruce.richardson at intel.com>
> > > ---
> > >  config/arm/arm64_armada_linux_gcc | 1 +
> > > config/arm/arm64_armv8_linux_gcc  | 3 +++
> > >  config/arm/meson.build            | 7 +++----
> > >  drivers/meson.build               | 6 +++++-
> > >  meson.build                       | 1 +
> > >  5 files changed, 13 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/arm64_armv8_linux_gcc
> > > b/config/arm/arm64_armv8_linux_gcc
> > > index fb24be5fc..245e06e5f 100644
> > > --- a/config/arm/arm64_armv8_linux_gcc
> > > +++ b/config/arm/arm64_armv8_linux_gcc
> > > @@ -52,3 +52,6 @@ part_number = 'generic'
> > >  # max_lcores = n      # will set RTE_MAX_LCORE
> > >  max_lcores = 256
> > >  max_numa_nodes = 4
> > > +
> > > +# disabled_drivers = ['bus/dpaa', 'crypto']
> > > +    # add to the set of disabled libraries
> > > diff --git a/config/arm/meson.build b/config/arm/meson.build index
> > > e9bb60045..a39a35b6a 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_default = [
> > >  	# Accelarate rte_memcpy. Be sure to run unit test
> > > (memcpy_perf_autotest) @@ -17,9 +20,6 @@ flags_common_default = [
> > >  	#	['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],
> > > @@ -124,7 +124,6 @@ implementers = {
> > >  					['RTE_MACHINE', '"octeontx2"'],
> > >  					['RTE_ARM_FEATURE_ATOMICS',
> > > true],
> > >  					['RTE_USE_C11_MEM_MODEL', true],
> > > -					['RTE_EAL_IGB_UIO', false],
> > Does this need to go to octeon tx2 cross file?
> >
> 
> Possibly.
> Based on my understanding of the old makefile config (which could be wrong),
> I think there are two categories here:
> 1. drivers which were disabled because they weren't supported at all or just on
> that platform.
> 2. drivers which were explicitly disabled no matter the support.
> 
> If this is in category 1, we should investigate whether support was not added.
> If we don't know, it's better to disable it, in which case I'll put it to the cross
> file.
I think all the platforms have moved to VFIO. It should be fine to disable this.

> 
> > >  					['RTE_MAX_LCORE', 36],
> > >  					['RTE_MAX_NUMA_NODES', 1]
> > >  				]
> > > 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



More information about the dev mailing list