[dpdk-dev] build: fix default arm64 build instruction level support

Message ID 20180409143946.21607-1-jerin.jacob@caviumnetworks.com (mailing list archive)
State Accepted, archived
Delegated to: Bruce Richardson
Headers

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK

Commit Message

Jerin Jacob April 9, 2018, 2:39 p.m. UTC
  The make based build system has crc+crypto instruction
support for the default arm64 build.
http://dpdk.org/browse/dpdk/tree/mk/machine/armv8a/rte.vars.mk#n31

This patch fixes the disparity with meson build flags for armv8.
As a bonus, This patch fixes the following errors with
ip_pipeline example application.

Assembler messages:
Error: selected processor does not support `crc32cx w3,w3,x0'

Fixes: c6e536e38437 ("build: add more implementers IDs and PNs for ARM")

Cc: herbert.guan@arm.com
Cc: pbhagavatula@caviumnetworks.com
Cc: bruce.richardson@intel.com
Cc: hemant.agrawal@nxp.com
Cc: stable@dpdk.org

Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
---
 config/arm/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
  

Comments

Bruce Richardson April 9, 2018, 3:42 p.m. UTC | #1
On Mon, Apr 09, 2018 at 08:09:46PM +0530, Jerin Jacob wrote:
> The make based build system has crc+crypto instruction
> support for the default arm64 build.
> http://dpdk.org/browse/dpdk/tree/mk/machine/armv8a/rte.vars.mk#n31
> 
> This patch fixes the disparity with meson build flags for armv8.
> As a bonus, This patch fixes the following errors with
> ip_pipeline example application.
> 
> Assembler messages:
> Error: selected processor does not support `crc32cx w3,w3,x0'
> 
> Fixes: c6e536e38437 ("build: add more implementers IDs and PNs for ARM")
> 
> Cc: herbert.guan@arm.com
> Cc: pbhagavatula@caviumnetworks.com
> Cc: bruce.richardson@intel.com
> Cc: hemant.agrawal@nxp.com
> Cc: stable@dpdk.org
> 
> Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> ---

For the issue with ip_pipeline builds:

Tested-by: Bruce Richardson <bruce.richardson@intel.com>
  
Bruce Richardson April 10, 2018, 2:16 p.m. UTC | #2
On Mon, Apr 09, 2018 at 08:09:46PM +0530, Jerin Jacob wrote:
> The make based build system has crc+crypto instruction
> support for the default arm64 build.
> http://dpdk.org/browse/dpdk/tree/mk/machine/armv8a/rte.vars.mk#n31
> 
> This patch fixes the disparity with meson build flags for armv8.
> As a bonus, This patch fixes the following errors with
> ip_pipeline example application.
> 
> Assembler messages:
> Error: selected processor does not support `crc32cx w3,w3,x0'
> 
> Fixes: c6e536e38437 ("build: add more implementers IDs and PNs for ARM")
> 
> Cc: herbert.guan@arm.com
> Cc: pbhagavatula@caviumnetworks.com
> Cc: bruce.richardson@intel.com
> Cc: hemant.agrawal@nxp.com
> Cc: stable@dpdk.org
> 
> Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> ---

Hemant, Shreyansh, Herbert,

any issues with this patch on your side? Can one of you please ack it. It
allows use of "-Dexamples=all" when doing cross-builds for all the
different arm targets in the config dir. Without it, ip_pipeline fails to
build for many of the targets.

/Bruce
  
Bruce Richardson April 10, 2018, 2:19 p.m. UTC | #3
Resend, fixing "To" recipients.

> -----Original Message-----
> From: Bruce Richardson [mailto:bruce.richardson@intel.com]
> Sent: Tuesday, April 10, 2018 3:17 PM
> To: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> Cc: dev@dpdk.org; herbert.guan@arm.com; pbhagavatula@caviumnetworks.com;
> hemant.agrawal@nxp.com; stable@dpdk.org; jerin.jacob@caviumnetworks.com
> Subject: Re: [dpdk-dev] [PATCH] build: fix default arm64 build instruction
> level support
> 
> On Mon, Apr 09, 2018 at 08:09:46PM +0530, Jerin Jacob wrote:
> > The make based build system has crc+crypto instruction support for the
> > default arm64 build.
> > http://dpdk.org/browse/dpdk/tree/mk/machine/armv8a/rte.vars.mk#n31
> >
> > This patch fixes the disparity with meson build flags for armv8.
> > As a bonus, This patch fixes the following errors with ip_pipeline
> > example application.
> >
> > Assembler messages:
> > Error: selected processor does not support `crc32cx w3,w3,x0'
> >
> > Fixes: c6e536e38437 ("build: add more implementers IDs and PNs for
> > ARM")
> >
> > Cc: herbert.guan@arm.com
> > Cc: pbhagavatula@caviumnetworks.com
> > Cc: bruce.richardson@intel.com
> > Cc: hemant.agrawal@nxp.com
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> > ---
> 
> Hemant, Shreyansh, Herbert,
> 
> any issues with this patch on your side? Can one of you please ack it. It
> allows use of "-Dexamples=all" when doing cross-builds for all the
> different arm targets in the config dir. Without it, ip_pipeline fails to
> build for many of the targets.
> 
> /Bruce
  
Hemant Agrawal April 11, 2018, 7 a.m. UTC | #4
On 4/10/2018 7:49 PM, Richardson, Bruce wrote:
> Resend, fixing "To" recipients.
> 
>> -----Original Message-----
>> From: Bruce Richardson [mailto:bruce.richardson@intel.com]
>> Sent: Tuesday, April 10, 2018 3:17 PM
>> To: Jerin Jacob <jerin.jacob@caviumnetworks.com>
>> Cc: dev@dpdk.org; herbert.guan@arm.com; pbhagavatula@caviumnetworks.com;
>> hemant.agrawal@nxp.com; stable@dpdk.org; jerin.jacob@caviumnetworks.com
>> Subject: Re: [dpdk-dev] [PATCH] build: fix default arm64 build instruction
>> level support
>>
>> On Mon, Apr 09, 2018 at 08:09:46PM +0530, Jerin Jacob wrote:
>>> The make based build system has crc+crypto instruction support for the
>>> default arm64 build.
>>> http://dpdk.org/browse/dpdk/tree/mk/machine/armv8a/rte.vars.mk#n31
>>>
>>> This patch fixes the disparity with meson build flags for armv8.
>>> As a bonus, This patch fixes the following errors with ip_pipeline
>>> example application.
>>>
>>> Assembler messages:
>>> Error: selected processor does not support `crc32cx w3,w3,x0'
>>>
>>> Fixes: c6e536e38437 ("build: add more implementers IDs and PNs for
>>> ARM")
>>>
>>> Cc: herbert.guan@arm.com
>>> Cc: pbhagavatula@caviumnetworks.com
>>> Cc: bruce.richardson@intel.com
>>> Cc: hemant.agrawal@nxp.com
>>> Cc: stable@dpdk.org
>>>
>>> Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
>>> ---
>>
>> Hemant, Shreyansh, Herbert,
>>
>> any issues with this patch on your side? Can one of you please ack it. It
>> allows use of "-Dexamples=all" when doing cross-builds for all the
>> different arm targets in the config dir. Without it, ip_pipeline fails to
>> build for many of the targets.
>>
>> /Bruce
> 
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
  
Bruce Richardson April 13, 2018, 3:42 p.m. UTC | #5
On Wed, Apr 11, 2018 at 12:30:07PM +0530, Hemant Agrawal wrote:
> 
> 
> On 4/10/2018 7:49 PM, Richardson, Bruce wrote:
> > Resend, fixing "To" recipients.
> > 
> > > -----Original Message-----
> > > From: Bruce Richardson [mailto:bruce.richardson@intel.com]
> > > Sent: Tuesday, April 10, 2018 3:17 PM
> > > To: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> > > Cc: dev@dpdk.org; herbert.guan@arm.com; pbhagavatula@caviumnetworks.com;
> > > hemant.agrawal@nxp.com; stable@dpdk.org; jerin.jacob@caviumnetworks.com
> > > Subject: Re: [dpdk-dev] [PATCH] build: fix default arm64 build instruction
> > > level support
> > > 
> > > On Mon, Apr 09, 2018 at 08:09:46PM +0530, Jerin Jacob wrote:
> > > > The make based build system has crc+crypto instruction support for the
> > > > default arm64 build.
> > > > http://dpdk.org/browse/dpdk/tree/mk/machine/armv8a/rte.vars.mk#n31
> > > > 
> > > > This patch fixes the disparity with meson build flags for armv8.
> > > > As a bonus, This patch fixes the following errors with ip_pipeline
> > > > example application.
> > > > 
> > > > Assembler messages:
> > > > Error: selected processor does not support `crc32cx w3,w3,x0'
> > > > 
> > > > Fixes: c6e536e38437 ("build: add more implementers IDs and PNs for
> > > > ARM")
> > > > 
> > > > Cc: herbert.guan@arm.com
> > > > Cc: pbhagavatula@caviumnetworks.com
> > > > Cc: bruce.richardson@intel.com
> > > > Cc: hemant.agrawal@nxp.com
> > > > Cc: stable@dpdk.org
> > > > 
> > > > Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
> > > > ---
> > > 
> > > Hemant, Shreyansh, Herbert,
> > > 
> > > any issues with this patch on your side? Can one of you please ack it. It
> > > allows use of "-Dexamples=all" when doing cross-builds for all the
> > > different arm targets in the config dir. Without it, ip_pipeline fails to
> > > build for many of the targets.
> > > 
> > > /Bruce
> > 
> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>

Applied to dpdk-next-build.

Thanks,
/Bruce
  

Patch

diff --git a/config/arm/meson.build b/config/arm/meson.build
index c1ab6ed01..b1d53576d 100644
--- a/config/arm/meson.build
+++ b/config/arm/meson.build
@@ -8,7 +8,7 @@  march_opt = '-march=@0@'.format(machine)
 arm_force_native_march = false
 
 machine_args_generic = [
-	['default', ['-march=armv8-a']],
+	['default', ['-march=armv8-a+crc+crypto']],
 	['native', ['-march=native']],
 	['0xd03', ['-mcpu=cortex-a53']],
 	['0xd04', ['-mcpu=cortex-a35']],