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

Jerin Jacob Kollanukkaran jerinj at marvell.com
Mon Jan 14 11:35:18 CET 2019


On Mon, 2019-01-14 at 09:58 +0000, Luca Boccassi wrote:
> 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?

I meant, Documenting the steps to create the generic image i.e -
Dmachine=default scheme to use generic build for meson based
distribution build.

Is it same for x86 too?

meson configure -Dmachine=default
meson build
cd build
ninja
ninja install


> 


More information about the dev mailing list