> -----Original Message----- > From: Lance Richardson <lance.richard...@broadcom.com> > Sent: Thursday, November 5, 2020 9:42 PM > To: Ruifeng Wang <ruifeng.w...@arm.com> > Cc: Juraj Linkeš <juraj.lin...@pantheon.tech>; tho...@monjalon.net; > Bruce Richardson <bruce.richard...@intel.com>; acon...@redhat.com; > maicolgabr...@hotmail.com; dev@dpdk.org; nd <n...@arm.com> > Subject: Re: [dpdk-dev] [PATCH v10 1/5] net/bnxt: add support for aarch32 > > > > Hi Juraj, > > > > > > I might be missing something, but I don't > > > believe these changes are sufficient to > > > enable vector mode for ARM32. For one > > > thing, bnxt_receive_function() in bnxt_ethdev.c > > > would need to be changed to enable the > > > selection of the vector receive function. > > > > Hi Lance, > > > > This patch set aimed to enable aarch32 compilation and run some basic unit > tests. > > So changes in this patch fixed some 'symbol not found' issues when > building for aarch32. > > However, it do need a respin because a patch that changed Arm flags has > been merged. > > > > > > > > Also, meson.build has this condition > > > for building bnxt_rxtx_vec_neon.c: > > > > > > if arch_subdir == 'x86' > > > sources += files('bnxt_rxtx_vec_sse.c') > > > elif arch_subdir == 'arm' and > host_machine.cpu_family().startswith('aarch64') > > > sources += files('bnxt_rxtx_vec_neon.c') > > > endif > > > > > > Were you able to build with these changes > > > > Yes. I was able to build with these changes. > > As you can find in 3/5 of this patch set, aarch32 uses (cpu_family = > 'aarch64'). > > So condition in meson.build is not a problem. > > > > > and confirm that the vector mode functions > > > are selected and used? (There is a log at INFO > > > level to indicate which function is selected, > > > as should "show rxq info ..." from the > > > testpmd CLI. > > > > > > Thanks, > > Thanks for your review. > > > > > > Lance > > Hi Juraj, > > Have you tried building with this patch set lately? Changes > have been made to bnxt_rxtx_vec_neon.c for 20.11 that > require 64-bit (for example, the intrinsic vzip1q_u32() is > used, this intrinsic is only available for 64-bit targets), as > I was able to confirm by applying your patch set and > attempting to build.
When the patch set was posted, it did compile. There was a Travis job added, and it passed. But now the patch set is stale because it has been in Patchwork for over a month and many other changes has been made during that time. Definitely it needs rework. Will respin the patch set and send out new version. > > I think the only change that is actually needed is this > in drivers/net/bnxt/meson.build: > > -elif arch_subdir == 'arm' and > host_machine.cpu_family().startswith('aarch64') > +elif arch_subdir == 'arm' and > host_machine.cpu_family().startswith('aarch64') and > dpdk_conf.get('RTE_ARCH_64') Will look into this. > > BTW, there are compilation failures in sfc_efx due to lack > of support for __int128 for Arm 32-bit targets. Thanks for reminding. Will look into this. > > Thanks, > Lance