[v5,11/11] build: update Arm builds with makefile flags

Message ID 1603893845-5736-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
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-testing success Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/travis-robot success Travis build: passed
ci/Intel-compilation success Compilation OK
ci/iol-mellanox-Performance success Performance Testing PASS

Commit Message

Juraj Linkeš Oct. 28, 2020, 2:04 p.m. UTC
  Not all flags were moved properly from the old Makefile build system.
Disable corresponding drivers and libnuma in cross files and remove
deprecated config.

Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
---
 config/arm/arm64_armada_linux_gcc    | 2 ++
 config/arm/arm64_armv8_linux_gcc     | 8 ++++++--
 config/arm/arm64_bluefield_linux_gcc | 1 +
 config/arm/arm64_dpaa_linux_gcc      | 1 +
 config/arm/arm64_n1sdp_linux_gcc     | 1 +
 config/arm/arm64_octeontx2_linux_gcc | 1 +
 config/arm/arm64_stingray_linux_gcc  | 1 +
 config/arm/meson.build               | 5 ++++-
 drivers/meson.build                  | 4 ++++
 9 files changed, 21 insertions(+), 3 deletions(-)
  

Comments

Bruce Richardson Oct. 28, 2020, 3:08 p.m. UTC | #1
On Wed, Oct 28, 2020 at 03:04:05PM +0100, Juraj Linkeš wrote:
> Not all flags were moved properly from the old Makefile build system.
> Disable corresponding drivers and libnuma in cross files and remove
> deprecated config.
> 
> Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
> ---
>  config/arm/arm64_armada_linux_gcc    | 2 ++
>  config/arm/arm64_armv8_linux_gcc     | 8 ++++++--
>  config/arm/arm64_bluefield_linux_gcc | 1 +
>  config/arm/arm64_dpaa_linux_gcc      | 1 +
>  config/arm/arm64_n1sdp_linux_gcc     | 1 +
>  config/arm/arm64_octeontx2_linux_gcc | 1 +
>  config/arm/arm64_stingray_linux_gcc  | 1 +
>  config/arm/meson.build               | 5 ++++-
>  drivers/meson.build                  | 4 ++++
>  9 files changed, 21 insertions(+), 3 deletions(-)
> 
> diff --git a/config/arm/arm64_armada_linux_gcc b/config/arm/arm64_armada_linux_gcc
> index 36100c594..e33f1e742 100644
> --- a/config/arm/arm64_armada_linux_gcc
> +++ b/config/arm/arm64_armada_linux_gcc
> @@ -17,3 +17,5 @@ endian = 'little'
>  implementer_id = '0x56'
>  max_numa_nodes = 1
>  max_lcores = 16
> +has_libnuma = 0
> +disabled_drivers = ['bus/dpaa', 'bus/fslmc', 'common/dpaax']

Changes to disabled drivers should be merged in the previous patch.

> diff --git a/config/arm/arm64_armv8_linux_gcc b/config/arm/arm64_armv8_linux_gcc
> index 779333199..c6010e303 100644
> --- a/config/arm/arm64_armv8_linux_gcc
> +++ b/config/arm/arm64_armv8_linux_gcc
> @@ -28,7 +28,11 @@ implementer_id = 'generic'
>  part_number = 'generic'
>  
>  # Supported extra configuration
> -# max_numa_nodes = n  # will set RTE_MAX_NUMA_NODES
> -# max_lcores = n      # will set RTE_MAX_LCORE
> +# max_numa_nodes = n   # will set RTE_MAX_NUMA_NODES
> +# max_lcores = n        # will set RTE_MAX_LCORE
>  max_lcores = 256
>  max_numa_nodes = 4
> +
> +# has_libnuma = 0      # set to 0 if the SoC is not a NUMA system
> +# disabled_drivers += ['bus/dpaa', 'crypto']
> +    # add to the set of disabled libraries
> diff --git a/config/arm/arm64_bluefield_linux_gcc b/config/arm/arm64_bluefield_linux_gcc
> index 7ff6fd309..e154ac4fd 100644
> --- a/config/arm/arm64_bluefield_linux_gcc
> +++ b/config/arm/arm64_bluefield_linux_gcc
> @@ -17,3 +17,4 @@ implementer_id = '0x41'
>  part_number = '0xd08'
>  max_numa_nodes = 1
>  max_lcores = 16
> +has_libnuma = 0
> diff --git a/config/arm/arm64_dpaa_linux_gcc b/config/arm/arm64_dpaa_linux_gcc
> index adae86f57..78883a2ec 100644
> --- a/config/arm/arm64_dpaa_linux_gcc
> +++ b/config/arm/arm64_dpaa_linux_gcc
> @@ -17,3 +17,4 @@ endian = 'little'
>  implementer_id = 'dpaa'
>  max_numa_nodes = 1
>  max_lcores = 16
> +has_libnuma = 0
> diff --git a/config/arm/arm64_n1sdp_linux_gcc b/config/arm/arm64_n1sdp_linux_gcc
> index 3a8b46812..4493227f3 100644
> --- a/config/arm/arm64_n1sdp_linux_gcc
> +++ b/config/arm/arm64_n1sdp_linux_gcc
> @@ -17,3 +17,4 @@ implementer_id = '0x41'
>  part_number = '0xd0c'
>  max_numa_nodes = 1
>  max_lcores = 4
> +has_libnuma = 0
> diff --git a/config/arm/arm64_octeontx2_linux_gcc b/config/arm/arm64_octeontx2_linux_gcc
> index 2baf95a2a..ff9e5c403 100644
> --- a/config/arm/arm64_octeontx2_linux_gcc
> +++ b/config/arm/arm64_octeontx2_linux_gcc
> @@ -17,3 +17,4 @@ implementer_id = '0x43'
>  part_number = '0xb2'
>  max_numa_nodes = 1
>  max_lcores = 36
> +has_libnuma = 0
> diff --git a/config/arm/arm64_stingray_linux_gcc b/config/arm/arm64_stingray_linux_gcc
> index 7ff6fd309..e154ac4fd 100644
> --- a/config/arm/arm64_stingray_linux_gcc
> +++ b/config/arm/arm64_stingray_linux_gcc
> @@ -17,3 +17,4 @@ implementer_id = '0x41'
>  part_number = '0xd08'
>  max_numa_nodes = 1
>  max_lcores = 16
> +has_libnuma = 0
> diff --git a/config/arm/meson.build b/config/arm/meson.build
> index 21deb2dd9..a023abb17 100644
> --- a/config/arm/meson.build
> +++ b/config/arm/meson.build
> @@ -101,7 +101,6 @@ flags_octeontx2_extra = [
>  	['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]
>  ]
> @@ -236,6 +235,10 @@ else
>  				['RTE_MAX_LCORE', cross_max_lcores]
>  			]
>  		endif
> +		cross_has_libnuma = meson.get_cross_property('has_libnuma', '')
> +		if cross_has_libnuma != ''
> +			has_libnuma = cross_has_libnuma
> +		endif
>  	endif
>  
>  	# apply supported machine args
> diff --git a/drivers/meson.build b/drivers/meson.build
> index 4c4866866..a997387ad 100644
> --- a/drivers/meson.build
> +++ b/drivers/meson.build
> @@ -21,6 +21,10 @@ subdirs = [
>  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
> +

This change also belongs in the previous patch. However, because of the way
it's done here, I think the change to the disabled_drivers assignment in
the previous patch can be dropped, since assigning using "=" rather than
"+=" is fine when the cross-file addition is done later.

>  default_cflags = machine_args
>  default_cflags += ['-DALLOW_EXPERIMENTAL_API']
>  default_cflags += ['-DALLOW_INTERNAL_API']
> -- 
> 2.20.1
>
  
Juraj Linkeš Oct. 30, 2020, 11:28 a.m. UTC | #2
> -----Original Message-----
> From: Bruce Richardson <bruce.richardson@intel.com>
> Sent: Wednesday, October 28, 2020 4:08 PM
> To: Juraj Linkeš <juraj.linkes@pantheon.tech>
> Cc: Ruifeng.Wang@arm.com; Honnappa.Nagarahalli@arm.com;
> Phil.Yang@arm.com; vcchunga@amazon.com; Dharmik.Thakkar@arm.com;
> jerinjacobk@gmail.com; hemant.agrawal@nxp.com; dev@dpdk.org
> Subject: Re: [PATCH v5 11/11] build: update Arm builds with makefile flags
> 
> On Wed, Oct 28, 2020 at 03:04:05PM +0100, Juraj Linkeš wrote:
> > Not all flags were moved properly from the old Makefile build system.
> > Disable corresponding drivers and libnuma in cross files and remove
> > deprecated config.
> >
> > Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
> > ---
> >  config/arm/arm64_armada_linux_gcc    | 2 ++
> >  config/arm/arm64_armv8_linux_gcc     | 8 ++++++--
> >  config/arm/arm64_bluefield_linux_gcc | 1 +
> >  config/arm/arm64_dpaa_linux_gcc      | 1 +
> >  config/arm/arm64_n1sdp_linux_gcc     | 1 +
> >  config/arm/arm64_octeontx2_linux_gcc | 1 +
> > config/arm/arm64_stingray_linux_gcc  | 1 +
> >  config/arm/meson.build               | 5 ++++-
> >  drivers/meson.build                  | 4 ++++
> >  9 files changed, 21 insertions(+), 3 deletions(-)
> >
> > diff --git a/config/arm/arm64_armada_linux_gcc
> > b/config/arm/arm64_armada_linux_gcc
> > index 36100c594..e33f1e742 100644
> > --- a/config/arm/arm64_armada_linux_gcc
> > +++ b/config/arm/arm64_armada_linux_gcc
> > @@ -17,3 +17,5 @@ endian = 'little'
> >  implementer_id = '0x56'
> >  max_numa_nodes = 1
> >  max_lcores = 16
> > +has_libnuma = 0
> > +disabled_drivers = ['bus/dpaa', 'bus/fslmc', 'common/dpaax']
> 
> Changes to disabled drivers should be merged in the previous patch.
> 

These are not changes, but additions based on the old makefile flags, which is why I added them in a separate patch.
However, do you think we could just merge both of these patches? Both are either fixing existing config or fixing config that previously worked (defined in the old makefiles). What do you think? If not, what's the best way to split these two (fixing existing config and fixing/adding config from makefiles)?

> > diff --git a/config/arm/arm64_armv8_linux_gcc
> > b/config/arm/arm64_armv8_linux_gcc
> > index 779333199..c6010e303 100644
> > --- a/config/arm/arm64_armv8_linux_gcc
> > +++ b/config/arm/arm64_armv8_linux_gcc
> > @@ -28,7 +28,11 @@ implementer_id = 'generic'
> >  part_number = 'generic'
> >
> >  # Supported extra configuration
> > -# max_numa_nodes = n  # will set RTE_MAX_NUMA_NODES
> > -# max_lcores = n      # will set RTE_MAX_LCORE
> > +# max_numa_nodes = n   # will set RTE_MAX_NUMA_NODES
> > +# max_lcores = n        # will set RTE_MAX_LCORE
> >  max_lcores = 256
> >  max_numa_nodes = 4
> > +
> > +# has_libnuma = 0      # set to 0 if the SoC is not a NUMA system
> > +# disabled_drivers += ['bus/dpaa', 'crypto']
> > +    # add to the set of disabled libraries
> > diff --git a/config/arm/arm64_bluefield_linux_gcc
> > b/config/arm/arm64_bluefield_linux_gcc
> > index 7ff6fd309..e154ac4fd 100644
> > --- a/config/arm/arm64_bluefield_linux_gcc
> > +++ b/config/arm/arm64_bluefield_linux_gcc
> > @@ -17,3 +17,4 @@ implementer_id = '0x41'
> >  part_number = '0xd08'
> >  max_numa_nodes = 1
> >  max_lcores = 16
> > +has_libnuma = 0
> > diff --git a/config/arm/arm64_dpaa_linux_gcc
> > b/config/arm/arm64_dpaa_linux_gcc index adae86f57..78883a2ec 100644
> > --- a/config/arm/arm64_dpaa_linux_gcc
> > +++ b/config/arm/arm64_dpaa_linux_gcc
> > @@ -17,3 +17,4 @@ endian = 'little'
> >  implementer_id = 'dpaa'
> >  max_numa_nodes = 1
> >  max_lcores = 16
> > +has_libnuma = 0
> > diff --git a/config/arm/arm64_n1sdp_linux_gcc
> > b/config/arm/arm64_n1sdp_linux_gcc
> > index 3a8b46812..4493227f3 100644
> > --- a/config/arm/arm64_n1sdp_linux_gcc
> > +++ b/config/arm/arm64_n1sdp_linux_gcc
> > @@ -17,3 +17,4 @@ implementer_id = '0x41'
> >  part_number = '0xd0c'
> >  max_numa_nodes = 1
> >  max_lcores = 4
> > +has_libnuma = 0
> > diff --git a/config/arm/arm64_octeontx2_linux_gcc
> > b/config/arm/arm64_octeontx2_linux_gcc
> > index 2baf95a2a..ff9e5c403 100644
> > --- a/config/arm/arm64_octeontx2_linux_gcc
> > +++ b/config/arm/arm64_octeontx2_linux_gcc
> > @@ -17,3 +17,4 @@ implementer_id = '0x43'
> >  part_number = '0xb2'
> >  max_numa_nodes = 1
> >  max_lcores = 36
> > +has_libnuma = 0
> > diff --git a/config/arm/arm64_stingray_linux_gcc
> > b/config/arm/arm64_stingray_linux_gcc
> > index 7ff6fd309..e154ac4fd 100644
> > --- a/config/arm/arm64_stingray_linux_gcc
> > +++ b/config/arm/arm64_stingray_linux_gcc
> > @@ -17,3 +17,4 @@ implementer_id = '0x41'
> >  part_number = '0xd08'
> >  max_numa_nodes = 1
> >  max_lcores = 16
> > +has_libnuma = 0
> > diff --git a/config/arm/meson.build b/config/arm/meson.build index
> > 21deb2dd9..a023abb17 100644
> > --- a/config/arm/meson.build
> > +++ b/config/arm/meson.build
> > @@ -101,7 +101,6 @@ flags_octeontx2_extra = [
> >  	['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]
> >  ]
> > @@ -236,6 +235,10 @@ else
> >  				['RTE_MAX_LCORE', cross_max_lcores]
> >  			]
> >  		endif
> > +		cross_has_libnuma = meson.get_cross_property('has_libnuma',
> '')
> > +		if cross_has_libnuma != ''
> > +			has_libnuma = cross_has_libnuma
> > +		endif
> >  	endif
> >
> >  	# apply supported machine args
> > diff --git a/drivers/meson.build b/drivers/meson.build index
> > 4c4866866..a997387ad 100644
> > --- a/drivers/meson.build
> > +++ b/drivers/meson.build
> > @@ -21,6 +21,10 @@ subdirs = [
> >  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
> > +
> 
> This change also belongs in the previous patch. However, because of the way it's
> done here, I think the change to the disabled_drivers assignment in the previous
> patch can be dropped, since assigning using "=" rather than "+=" is fine when the
> cross-file addition is done later.
> 

Moving this to the other patch makes sense. If you mean the assignment change in drivers/meson.build that has to be there, so we don't overwrite disabled drivers configured in config/arm/meson.build.

> >  default_cflags = machine_args
> >  default_cflags += ['-DALLOW_EXPERIMENTAL_API']  default_cflags +=
> > ['-DALLOW_INTERNAL_API']
> > --
> > 2.20.1
> >
  
Juraj Linkeš Oct. 30, 2020, 1:38 p.m. UTC | #3
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Juraj Linkeš
> Sent: Friday, October 30, 2020 12:29 PM
> To: Bruce Richardson <bruce.richardson@intel.com>
> Cc: Ruifeng.Wang@arm.com; Honnappa.Nagarahalli@arm.com;
> Phil.Yang@arm.com; vcchunga@amazon.com; Dharmik.Thakkar@arm.com;
> jerinjacobk@gmail.com; hemant.agrawal@nxp.com; dev@dpdk.org
> Subject: Re: [dpdk-dev] [PATCH v5 11/11] build: update Arm builds with makefile
> flags
> 
> 
> 
> > -----Original Message-----
> > From: Bruce Richardson <bruce.richardson@intel.com>
> > Sent: Wednesday, October 28, 2020 4:08 PM
> > To: Juraj Linkeš <juraj.linkes@pantheon.tech>
> > Cc: Ruifeng.Wang@arm.com; Honnappa.Nagarahalli@arm.com;
> > Phil.Yang@arm.com; vcchunga@amazon.com; Dharmik.Thakkar@arm.com;
> > jerinjacobk@gmail.com; hemant.agrawal@nxp.com; dev@dpdk.org
> > Subject: Re: [PATCH v5 11/11] build: update Arm builds with makefile
> > flags
> >
> > On Wed, Oct 28, 2020 at 03:04:05PM +0100, Juraj Linkeš wrote:
> > > Not all flags were moved properly from the old Makefile build system.
> > > Disable corresponding drivers and libnuma in cross files and remove
> > > deprecated config.
> > >
> > > Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
> > > ---
> > >  config/arm/arm64_armada_linux_gcc    | 2 ++
> > >  config/arm/arm64_armv8_linux_gcc     | 8 ++++++--
> > >  config/arm/arm64_bluefield_linux_gcc | 1 +
> > >  config/arm/arm64_dpaa_linux_gcc      | 1 +
> > >  config/arm/arm64_n1sdp_linux_gcc     | 1 +
> > >  config/arm/arm64_octeontx2_linux_gcc | 1 +
> > > config/arm/arm64_stingray_linux_gcc  | 1 +
> > >  config/arm/meson.build               | 5 ++++-
> > >  drivers/meson.build                  | 4 ++++
> > >  9 files changed, 21 insertions(+), 3 deletions(-)
> > >
> > > diff --git a/config/arm/arm64_armada_linux_gcc
> > > b/config/arm/arm64_armada_linux_gcc
> > > index 36100c594..e33f1e742 100644
> > > --- a/config/arm/arm64_armada_linux_gcc
> > > +++ b/config/arm/arm64_armada_linux_gcc
> > > @@ -17,3 +17,5 @@ endian = 'little'
> > >  implementer_id = '0x56'
> > >  max_numa_nodes = 1
> > >  max_lcores = 16
> > > +has_libnuma = 0
> > > +disabled_drivers = ['bus/dpaa', 'bus/fslmc', 'common/dpaax']
> >
> > Changes to disabled drivers should be merged in the previous patch.
> >
> 
> These are not changes, but additions based on the old makefile flags, which is
> why I added them in a separate patch.
> However, do you think we could just merge both of these patches? Both are
> either fixing existing config or fixing config that previously worked (defined in
> the old makefiles). What do you think? If not, what's the best way to split these
> two (fixing existing config and fixing/adding config from makefiles)?
> 

I've decided to redo the last three patches a bit - add the capability to specify numa and cpu counts into the first, disable drivers into the second and disable numa into the last one.

> > > diff --git a/config/arm/arm64_armv8_linux_gcc
> > > b/config/arm/arm64_armv8_linux_gcc
> > > index 779333199..c6010e303 100644
> > > --- a/config/arm/arm64_armv8_linux_gcc
> > > +++ b/config/arm/arm64_armv8_linux_gcc
> > > @@ -28,7 +28,11 @@ implementer_id = 'generic'
> > >  part_number = 'generic'
> > >
> > >  # Supported extra configuration
> > > -# max_numa_nodes = n  # will set RTE_MAX_NUMA_NODES
> > > -# max_lcores = n      # will set RTE_MAX_LCORE
> > > +# max_numa_nodes = n   # will set RTE_MAX_NUMA_NODES
> > > +# max_lcores = n        # will set RTE_MAX_LCORE
> > >  max_lcores = 256
> > >  max_numa_nodes = 4
> > > +
> > > +# has_libnuma = 0      # set to 0 if the SoC is not a NUMA system
> > > +# disabled_drivers += ['bus/dpaa', 'crypto']
> > > +    # add to the set of disabled libraries
> > > diff --git a/config/arm/arm64_bluefield_linux_gcc
> > > b/config/arm/arm64_bluefield_linux_gcc
> > > index 7ff6fd309..e154ac4fd 100644
> > > --- a/config/arm/arm64_bluefield_linux_gcc
> > > +++ b/config/arm/arm64_bluefield_linux_gcc
> > > @@ -17,3 +17,4 @@ implementer_id = '0x41'
> > >  part_number = '0xd08'
> > >  max_numa_nodes = 1
> > >  max_lcores = 16
> > > +has_libnuma = 0
> > > diff --git a/config/arm/arm64_dpaa_linux_gcc
> > > b/config/arm/arm64_dpaa_linux_gcc index adae86f57..78883a2ec 100644
> > > --- a/config/arm/arm64_dpaa_linux_gcc
> > > +++ b/config/arm/arm64_dpaa_linux_gcc
> > > @@ -17,3 +17,4 @@ endian = 'little'
> > >  implementer_id = 'dpaa'
> > >  max_numa_nodes = 1
> > >  max_lcores = 16
> > > +has_libnuma = 0
> > > diff --git a/config/arm/arm64_n1sdp_linux_gcc
> > > b/config/arm/arm64_n1sdp_linux_gcc
> > > index 3a8b46812..4493227f3 100644
> > > --- a/config/arm/arm64_n1sdp_linux_gcc
> > > +++ b/config/arm/arm64_n1sdp_linux_gcc
> > > @@ -17,3 +17,4 @@ implementer_id = '0x41'
> > >  part_number = '0xd0c'
> > >  max_numa_nodes = 1
> > >  max_lcores = 4
> > > +has_libnuma = 0
> > > diff --git a/config/arm/arm64_octeontx2_linux_gcc
> > > b/config/arm/arm64_octeontx2_linux_gcc
> > > index 2baf95a2a..ff9e5c403 100644
> > > --- a/config/arm/arm64_octeontx2_linux_gcc
> > > +++ b/config/arm/arm64_octeontx2_linux_gcc
> > > @@ -17,3 +17,4 @@ implementer_id = '0x43'
> > >  part_number = '0xb2'
> > >  max_numa_nodes = 1
> > >  max_lcores = 36
> > > +has_libnuma = 0
> > > diff --git a/config/arm/arm64_stingray_linux_gcc
> > > b/config/arm/arm64_stingray_linux_gcc
> > > index 7ff6fd309..e154ac4fd 100644
> > > --- a/config/arm/arm64_stingray_linux_gcc
> > > +++ b/config/arm/arm64_stingray_linux_gcc
> > > @@ -17,3 +17,4 @@ implementer_id = '0x41'
> > >  part_number = '0xd08'
> > >  max_numa_nodes = 1
> > >  max_lcores = 16
> > > +has_libnuma = 0
> > > diff --git a/config/arm/meson.build b/config/arm/meson.build index
> > > 21deb2dd9..a023abb17 100644
> > > --- a/config/arm/meson.build
> > > +++ b/config/arm/meson.build
> > > @@ -101,7 +101,6 @@ flags_octeontx2_extra = [
> > >  	['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]
> > >  ]
> > > @@ -236,6 +235,10 @@ else
> > >  				['RTE_MAX_LCORE', cross_max_lcores]
> > >  			]
> > >  		endif
> > > +		cross_has_libnuma = meson.get_cross_property('has_libnuma',
> > '')
> > > +		if cross_has_libnuma != ''
> > > +			has_libnuma = cross_has_libnuma
> > > +		endif
> > >  	endif
> > >
> > >  	# apply supported machine args
> > > diff --git a/drivers/meson.build b/drivers/meson.build index
> > > 4c4866866..a997387ad 100644
> > > --- a/drivers/meson.build
> > > +++ b/drivers/meson.build
> > > @@ -21,6 +21,10 @@ subdirs = [
> > >  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
> > > +
> >
> > This change also belongs in the previous patch. However, because of
> > the way it's done here, I think the change to the disabled_drivers
> > assignment in the previous patch can be dropped, since assigning using
> > "=" rather than "+=" is fine when the cross-file addition is done later.
> >
> 
> Moving this to the other patch makes sense. If you mean the assignment change
> in drivers/meson.build that has to be there, so we don't overwrite disabled
> drivers configured in config/arm/meson.build.
> 
> > >  default_cflags = machine_args
> > >  default_cflags += ['-DALLOW_EXPERIMENTAL_API']  default_cflags +=
> > > ['-DALLOW_INTERNAL_API']
> > > --
> > > 2.20.1
> > >
  

Patch

diff --git a/config/arm/arm64_armada_linux_gcc b/config/arm/arm64_armada_linux_gcc
index 36100c594..e33f1e742 100644
--- a/config/arm/arm64_armada_linux_gcc
+++ b/config/arm/arm64_armada_linux_gcc
@@ -17,3 +17,5 @@  endian = 'little'
 implementer_id = '0x56'
 max_numa_nodes = 1
 max_lcores = 16
+has_libnuma = 0
+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 779333199..c6010e303 100644
--- a/config/arm/arm64_armv8_linux_gcc
+++ b/config/arm/arm64_armv8_linux_gcc
@@ -28,7 +28,11 @@  implementer_id = 'generic'
 part_number = 'generic'
 
 # Supported extra configuration
-# max_numa_nodes = n  # will set RTE_MAX_NUMA_NODES
-# max_lcores = n      # will set RTE_MAX_LCORE
+# max_numa_nodes = n   # will set RTE_MAX_NUMA_NODES
+# max_lcores = n        # will set RTE_MAX_LCORE
 max_lcores = 256
 max_numa_nodes = 4
+
+# has_libnuma = 0      # set to 0 if the SoC is not a NUMA system
+# disabled_drivers += ['bus/dpaa', 'crypto']
+    # add to the set of disabled libraries
diff --git a/config/arm/arm64_bluefield_linux_gcc b/config/arm/arm64_bluefield_linux_gcc
index 7ff6fd309..e154ac4fd 100644
--- a/config/arm/arm64_bluefield_linux_gcc
+++ b/config/arm/arm64_bluefield_linux_gcc
@@ -17,3 +17,4 @@  implementer_id = '0x41'
 part_number = '0xd08'
 max_numa_nodes = 1
 max_lcores = 16
+has_libnuma = 0
diff --git a/config/arm/arm64_dpaa_linux_gcc b/config/arm/arm64_dpaa_linux_gcc
index adae86f57..78883a2ec 100644
--- a/config/arm/arm64_dpaa_linux_gcc
+++ b/config/arm/arm64_dpaa_linux_gcc
@@ -17,3 +17,4 @@  endian = 'little'
 implementer_id = 'dpaa'
 max_numa_nodes = 1
 max_lcores = 16
+has_libnuma = 0
diff --git a/config/arm/arm64_n1sdp_linux_gcc b/config/arm/arm64_n1sdp_linux_gcc
index 3a8b46812..4493227f3 100644
--- a/config/arm/arm64_n1sdp_linux_gcc
+++ b/config/arm/arm64_n1sdp_linux_gcc
@@ -17,3 +17,4 @@  implementer_id = '0x41'
 part_number = '0xd0c'
 max_numa_nodes = 1
 max_lcores = 4
+has_libnuma = 0
diff --git a/config/arm/arm64_octeontx2_linux_gcc b/config/arm/arm64_octeontx2_linux_gcc
index 2baf95a2a..ff9e5c403 100644
--- a/config/arm/arm64_octeontx2_linux_gcc
+++ b/config/arm/arm64_octeontx2_linux_gcc
@@ -17,3 +17,4 @@  implementer_id = '0x43'
 part_number = '0xb2'
 max_numa_nodes = 1
 max_lcores = 36
+has_libnuma = 0
diff --git a/config/arm/arm64_stingray_linux_gcc b/config/arm/arm64_stingray_linux_gcc
index 7ff6fd309..e154ac4fd 100644
--- a/config/arm/arm64_stingray_linux_gcc
+++ b/config/arm/arm64_stingray_linux_gcc
@@ -17,3 +17,4 @@  implementer_id = '0x41'
 part_number = '0xd08'
 max_numa_nodes = 1
 max_lcores = 16
+has_libnuma = 0
diff --git a/config/arm/meson.build b/config/arm/meson.build
index 21deb2dd9..a023abb17 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -101,7 +101,6 @@  flags_octeontx2_extra = [
 	['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]
 ]
@@ -236,6 +235,10 @@  else
 				['RTE_MAX_LCORE', cross_max_lcores]
 			]
 		endif
+		cross_has_libnuma = meson.get_cross_property('has_libnuma', '')
+		if cross_has_libnuma != ''
+			has_libnuma = cross_has_libnuma
+		endif
 	endif
 
 	# apply supported machine args
diff --git a/drivers/meson.build b/drivers/meson.build
index 4c4866866..a997387ad 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -21,6 +21,10 @@  subdirs = [
 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']