[dpdk-dev] [EXT] Re: [PATCH v3] build: use generic march on arm64 when using 'default' machine

Luca Boccassi bluca at debian.org
Mon Jan 14 10:58:30 CET 2019


On Mon, 2019-01-14 at 08:09 +0000, Jerin Jacob Kollanukkaran wrote:
> On Fri, 2019-01-11 at 10:45 +0000, Luca Boccassi wrote:
> > External Email
> > 
> > -------------------------------------------------------------------
> > ---
> > On Mon, 2019-01-07 at 14:11 +0000, Luca Boccassi wrote:
> > > When building for generic distribution we need a stable baseline
> > > architecture, or depending on the build worker the result will
> > > vary.
> > > 
> > > Force the default flags if the user explicitly sets
> > > machine=default
> > > at configuration time.
> > > 
> > > Fixes: b1d48c41189a ("build: support ARM with meson")
> > > Cc: stable at dpdk.org
> > > 
> > > Signed-off-by: Luca Boccassi <bluca at debian.org>
> > > Acked-by: Bruce Richardson <bruce.richardson at intel.com>
> > > ---
> > > v2: fix typo in commit message, remove variable used only once
> > > v3: put back temporary variable, as "machine" gets overwritten
> > >     by the function and loses the original value before we need
> > >     it.
> > > 
> > >  config/arm/meson.build | 7 ++++++-
> > >  1 file changed, 6 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/config/arm/meson.build b/config/arm/meson.build
> > > index dae55d6b2..614139534 100644
> > > --- a/config/arm/meson.build
> > > +++ b/config/arm/meson.build
> > > @@ -6,6 +6,7 @@
> > >  march_opt = '-march=@0@'.format(machine)
> > >  
> > >  arm_force_native_march = false
> > > +arm_force_default_march = (machine == 'default')
> > >  
> > >  machine_args_generic = [
> > >  	['default', ['-march=armv8-a+crc+crypto']],
> > > @@ -105,7 +106,11 @@ else
> > >  	cmd_generic = ['generic', '', '', 'default', '']
> > >  	cmd_output = cmd_generic # Set generic by default
> > >  	machine_args = [] # Clear previous machine args
> > > -	if not meson.is_cross_build()
> > > +	if arm_force_default_march and not
> > > meson.is_cross_build()
> > > +		machine = impl_generic
> > > +		cmd_output = cmd_generic
> > > +		impl_pn = 'default'
> > > +	elif not meson.is_cross_build()
> > >  		# The script returns ['Implementer', 'Variant',
> > > 'Architecture',
> > >  		# 'Primary Part number', 'Revision']
> > >  		detect_vendor = find_program(join_paths(
> > 
> > Any chance for a quick review from the arm maintainers/devs?
> > Thanks!
> 
> Looks good.
> 
> Could you please document the procedure to build generic image some
> where in the DPDK documentation.
> 
> I guess the procedure will be same for x86 and arm64. Right?

The "machine" meson option is already described in meson_options.txt,
is that enough?

-- 
Kind regards,
Luca Boccassi


More information about the dev mailing list