[dpdk-dev] [PATCH v8 12/14] build: disable Arm drivers
Juraj Linkeš
juraj.linkes at pantheon.tech
Mon Nov 9 11:52:26 CET 2020
> -----Original Message-----
> From: Honnappa Nagarahalli <Honnappa.Nagarahalli at arm.com>
> Sent: Sunday, November 8, 2020 9:19 PM
> To: Juraj Linkeš <juraj.linkes at pantheon.tech>; bruce.richardson at intel.com;
> Ruifeng Wang <Ruifeng.Wang at arm.com>; Phil Yang <Phil.Yang at arm.com>;
> vcchunga at amazon.com; Dharmik Thakkar <Dharmik.Thakkar at arm.com>;
> jerinjacobk at gmail.com; hemant.agrawal at nxp.com; Ajit Khaparde
> (ajit.khaparde at broadcom.com) <ajit.khaparde at broadcom.com>;
> ferruh.yigit at intel.com; aconole at redhat.com
> Cc: dev at dpdk.org; nd <nd at arm.com>; Honnappa Nagarahalli
> <Honnappa.Nagarahalli at arm.com>; nd <nd at arm.com>
> Subject: RE: [PATCH v8 12/14] build: disable Arm drivers
>
> <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.
> > 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.
> > ['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