[dpdk-stable] [dpdk-dev] [PATCH v16 1/8] net/sfc: fix aarch32 build

Juraj Linkeš juraj.linkes at pantheon.tech
Wed Apr 21 16:08:30 CEST 2021



> -----Original Message-----
> From: Ruifeng Wang <Ruifeng.Wang at arm.com>
> Sent: Wednesday, April 21, 2021 12:06 PM
> To: Andrew Rybchenko <andrew.rybchenko at oktetlabs.ru>; Juraj Linkeš
> <juraj.linkes at pantheon.tech>; thomas at monjalon.net;
> david.marchand at redhat.com; bruce.richardson at intel.com;
> aconole at redhat.com; maicolgabriel at hotmail.com
> Cc: dev at dpdk.org; arybchenko at solarflare.com; stable at dpdk.org; nd
> <nd at arm.com>
> Subject: RE: [dpdk-dev] [PATCH v16 1/8] net/sfc: fix aarch32 build
> 
> > -----Original Message-----
> > From: Andrew Rybchenko <andrew.rybchenko at oktetlabs.ru>
> > Sent: Wednesday, April 21, 2021 5:05 PM
> > To: Juraj Linkeš <juraj.linkes at pantheon.tech>; thomas at monjalon.net;
> > david.marchand at redhat.com; bruce.richardson at intel.com;
> > aconole at redhat.com; maicolgabriel at hotmail.com
> > Cc: dev at dpdk.org; Ruifeng Wang <Ruifeng.Wang at arm.com>;
> > arybchenko at solarflare.com; stable at dpdk.org
> > Subject: Re: [dpdk-dev] [PATCH v16 1/8] net/sfc: fix aarch32 build
> >
> > On 4/21/21 11:50 AM, Juraj Linkeš wrote:
> > > From: Ruifeng Wang <ruifeng.wang at arm.com>
> > >
> > > The sfc PMD was enabled for aarch32 which is 32-bit mode but has
> > > cpu_family set to aarch64.
> > > As sfc support only 64-bit system, it should be disabled for aarch32.
> > >
> > > Updated meson file to disable sfc for aarch32 build.
> > >
> > > Fixes: 141d2870675a ("net/sfc: support aarch64 architecture")
> > > Cc: arybchenko at solarflare.com
> > > Cc: stable at dpdk.org
> > >
> > > Signed-off-by: Ruifeng Wang <ruifeng.wang at arm.com>
> > > Acked-by: Andrew Rybchenko <andrew.rybchenko at oktetlabs.ru>
> >
> > Withdraw my ack
> >
> > > ---
> > >  drivers/common/sfc_efx/meson.build | 2 +-
> > >  drivers/net/sfc/meson.build        | 2 +-
> > >  2 files changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/common/sfc_efx/meson.build
> > > b/drivers/common/sfc_efx/meson.build
> > > index 1ca9510733..db5a6a8b42 100644
> > > --- a/drivers/common/sfc_efx/meson.build
> > > +++ b/drivers/common/sfc_efx/meson.build
> > > @@ -10,7 +10,7 @@ if is_windows
> > >  	reason = 'not supported on Windows'
> > >  endif
> > >
> > > -if (arch_subdir != 'x86' or not dpdk_conf.get('RTE_ARCH_64')) and
> > > (arch_subdir != 'arm' or not
> > > host_machine.cpu_family().startswith('aarch64'))
> > > +if (arch_subdir != 'x86' or arch_subdir != 'arm') and (not
> > > +dpdk_conf.get('RTE_ARCH_64'))
> >
> > Am I missing something or condition in parenthesis is always true? I
> > think it
> 

Thanks for catching this.

> Oops, it should be an 'and' in the parenthesis.
> 
> > should be:
> >
> > if arch_subdir != 'x86' or arch_subdir != 'arm' or not
> > dpdk_conf.get('RTE_ARCH_64')
> 
> I assume you meant to use 'and's.
> 

I believe the actual correct condition is:
(arch_subdir != 'x86' and arch_subdir != 'arm') or (not dpdk_conf.get('RTE_ARCH_64'))

This should result in 'only supported on x86_64 and aarch64'.

> >
> > >  	build = false
> > >  	reason = 'only supported on x86_64 and aarch64'
> > >  endif
> > > diff --git a/drivers/net/sfc/meson.build
> > > b/drivers/net/sfc/meson.build index 0c5cfb9058..0a96235e33 100644
> > > --- a/drivers/net/sfc/meson.build
> > > +++ b/drivers/net/sfc/meson.build
> > > @@ -12,7 +12,7 @@ if is_windows
> > >  	subdir_done()
> > >  endif
> > >
> > > -if (arch_subdir != 'x86' or not dpdk_conf.get('RTE_ARCH_64')) and
> > > (arch_subdir != 'arm' or not
> > > host_machine.cpu_family().startswith('aarch64'))
> > > +if (arch_subdir != 'x86' or arch_subdir != 'arm') and (not
> > > +dpdk_conf.get('RTE_ARCH_64'))
> >
> > same here.
> >
> > >  	build = false
> > >  	reason = 'only supported on x86_64 and aarch64'
> > >  endif
> > >



More information about the stable mailing list