From: Ruifeng Wang <ruifeng.wang@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@solarflare.com Cc: stable@dpdk.org Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> --- 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 6cb9f0737..0200c6752 100644 --- a/drivers/common/sfc_efx/meson.build +++ b/drivers/common/sfc_efx/meson.build @@ -5,7 +5,7 @@ # This software was jointly developed between OKTET Labs (under contract # for Solarflare) and Solarflare Communications, Inc. -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')) 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 be888bd87..cfd31ca3a 100644 --- a/drivers/net/sfc/meson.build +++ b/drivers/net/sfc/meson.build @@ -6,7 +6,7 @@ # This software was jointly developed between OKTET Labs (under contract # for Solarflare) and Solarflare Communications, Inc. -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')) build = false reason = 'only supported on x86_64 and aarch64' endif -- 2.20.1
From: Ruifeng Wang <ruifeng.wang@arm.com> NEON vector path of the PMD needs aarch64 support. But it was enabled for aarch32 build as well because aarch32 build had cpu_family set to aarch64. So build for aarch32 will fail due to unsupported intrinsics. Fixed aarch32 build by updating meson file to execule NEON vector implementation for aarch32. Fixes: 398358341419 ("net/bnxt: support NEON") Cc: lance.richardson@broadcom.com Cc: stable@dpdk.org Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> --- drivers/net/bnxt/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bnxt/meson.build b/drivers/net/bnxt/meson.build index 2896337b5..a2fd494da 100644 --- a/drivers/net/bnxt/meson.build +++ b/drivers/net/bnxt/meson.build @@ -74,6 +74,6 @@ sources = files('bnxt_cpr.c', if arch_subdir == 'x86' sources += files('bnxt_rxtx_vec_sse.c') -elif arch_subdir == 'arm' and host_machine.cpu_family().startswith('aarch64') +elif arch_subdir == 'arm' and dpdk_conf.get('RTE_ARCH_64') sources += files('bnxt_rxtx_vec_neon.c') endif -- 2.20.1
On 12/9/20 3:59 PM, Juraj Linkeš wrote:
> From: Ruifeng Wang <ruifeng.wang@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@solarflare.com
> Cc: stable@dpdk.org
>
> Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Many thanks for the fix.
On Wed, Dec 9, 2020 at 7:59 AM Juraj Linkeš <juraj.linkes@pantheon.tech> wrote: > > From: Ruifeng Wang <ruifeng.wang@arm.com> > > NEON vector path of the PMD needs aarch64 support. But it was > enabled for aarch32 build as well because aarch32 build had > cpu_family set to aarch64. So build for aarch32 will fail due > to unsupported intrinsics. > > Fixed aarch32 build by updating meson file to execule NEON vector > implementation for aarch32. > > Fixes: 398358341419 ("net/bnxt: support NEON") > Cc: lance.richardson@broadcom.com > Cc: stable@dpdk.org > > Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> > --- > drivers/net/bnxt/meson.build | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/bnxt/meson.build b/drivers/net/bnxt/meson.build > index 2896337b5..a2fd494da 100644 > --- a/drivers/net/bnxt/meson.build > +++ b/drivers/net/bnxt/meson.build > @@ -74,6 +74,6 @@ sources = files('bnxt_cpr.c', > > if arch_subdir == 'x86' > sources += files('bnxt_rxtx_vec_sse.c') > -elif arch_subdir == 'arm' and host_machine.cpu_family().startswith('aarch64') > +elif arch_subdir == 'arm' and dpdk_conf.get('RTE_ARCH_64') > sources += files('bnxt_rxtx_vec_neon.c') > endif > -- > 2.20.1 > With this change, there should be no need for http://patchwork.dpdk.org/patch/84864/ Reviewed-by: Lance Richardson <lance.richardson@broadcom.com> -- This electronic communication and the information and any files transmitted with it, or attached to it, are confidential and are intended solely for the use of the individual or entity to whom it is addressed and may contain information that is confidential, legally privileged, protected by privacy laws, or otherwise restricted from disclosure to anyone else. If you are not the intended recipient or the person responsible for delivering the e-mail to the intended recipient, you are hereby notified that any use, copying, distributing, dissemination, forwarding, printing, or copying of this e-mail is strictly prohibited. If you received this e-mail in error, please return the e-mail to the sender, delete it from your computer, and destroy any printed copy of it.
> -----Original Message----- > From: Lance Richardson <lance.richardson@broadcom.com> > Sent: Wednesday, December 9, 2020 10:10 PM > To: Juraj Linkeš <juraj.linkes@pantheon.tech> > Cc: thomas@monjalon.net; Bruce Richardson <bruce.richardson@intel.com>; > aconole@redhat.com; maicolgabriel@hotmail.com; dev@dpdk.org; Ruifeng > Wang <Ruifeng.Wang@arm.com>; stable@dpdk.org > Subject: Re: [PATCH v11 2/7] net/bnxt: fix aarch32 build > > On Wed, Dec 9, 2020 at 7:59 AM Juraj Linkeš <juraj.linkes@pantheon.tech> > wrote: > > > > From: Ruifeng Wang <ruifeng.wang@arm.com> > > > > NEON vector path of the PMD needs aarch64 support. But it was > > enabled for aarch32 build as well because aarch32 build had > > cpu_family set to aarch64. So build for aarch32 will fail due > > to unsupported intrinsics. > > > > Fixed aarch32 build by updating meson file to execule NEON vector > > implementation for aarch32. > > > > Fixes: 398358341419 ("net/bnxt: support NEON") > > Cc: lance.richardson@broadcom.com > > Cc: stable@dpdk.org > > > > Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> > > --- > > drivers/net/bnxt/meson.build | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/net/bnxt/meson.build b/drivers/net/bnxt/meson.build > > index 2896337b5..a2fd494da 100644 > > --- a/drivers/net/bnxt/meson.build > > +++ b/drivers/net/bnxt/meson.build > > @@ -74,6 +74,6 @@ sources = files('bnxt_cpr.c', > > > > if arch_subdir == 'x86' > > sources += files('bnxt_rxtx_vec_sse.c') > > -elif arch_subdir == 'arm' and > host_machine.cpu_family().startswith('aarch64') > > +elif arch_subdir == 'arm' and dpdk_conf.get('RTE_ARCH_64') > > sources += files('bnxt_rxtx_vec_neon.c') > > endif > > -- > > 2.20.1 > > > With this change, there should be no need for > http://patchwork.dpdk.org/patch/84864/ Yes. Patch 3/7 in this series should be dropped. It is from prior series and is superseded by 2/7 in this series. > > Reviewed-by: Lance Richardson <lance.richardson@broadcom.com> > > -- > This electronic communication and the information and any files transmitted > with it, or attached to it, are confidential and are intended solely for > the use of the individual or entity to whom it is addressed and may contain > information that is confidential, legally privileged, protected by privacy > laws, or otherwise restricted from disclosure to anyone else. If you are > not the intended recipient or the person responsible for delivering the > e-mail to the intended recipient, you are hereby notified that any use, > copying, distributing, dissemination, forwarding, printing, or copying of > this e-mail is strictly prohibited. If you received this e-mail in error, > please return the e-mail to the sender, delete it from your computer, and > destroy any printed copy of it.
From: Juraj Linkeš <juraj.linkes@pantheon.tech> > From: Ruifeng Wang <ruifeng.wang@arm.com> > NEON vector path of the PMD needs aarch64 support. But it was > enabled for aarch32 build as well because aarch32 build had > cpu_family set to aarch64. So build for aarch32 will fail due > to unsupported intrinsics. > Fixed aarch32 build by updating meson file to execule NEON vector > implementation for aarch32. > Fixes: 398358341419 ("net/bnxt: support NEON") > Cc: lance.richardson@broadcom.com > Cc: stable@dpdk.org > Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> > Reviewed-by: Lance Richardson <lance.richardson@broadcom.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
> From: Ruifeng Wang <ruifeng.wang@arm.com> > NEON vector path of the PMD needs aarch64 support. But it was > enabled for aarch32 build as well because aarch32 build had > cpu_family set to aarch64. So build for aarch32 will fail due > to unsupported intrinsics. > Fixed aarch32 build by updating meson file to execule NEON vector > implementation for aarch32. > Fixes: 398358341419 ("net/bnxt: support NEON") > Cc: lance.richardson@broadcom.com > Cc: stable@dpdk.org > Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> > Reviewed-by: Lance Richardson <lance.richardson@broadcom.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
From: Ruifeng Wang <ruifeng.wang@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@solarflare.com Cc: stable@dpdk.org Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> --- 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 6cb9f0737..0200c6752 100644 --- a/drivers/common/sfc_efx/meson.build +++ b/drivers/common/sfc_efx/meson.build @@ -5,7 +5,7 @@ # This software was jointly developed between OKTET Labs (under contract # for Solarflare) and Solarflare Communications, Inc. -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')) 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 be888bd87..cfd31ca3a 100644 --- a/drivers/net/sfc/meson.build +++ b/drivers/net/sfc/meson.build @@ -6,7 +6,7 @@ # This software was jointly developed between OKTET Labs (under contract # for Solarflare) and Solarflare Communications, Inc. -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')) build = false reason = 'only supported on x86_64 and aarch64' endif -- 2.20.1
From: Ruifeng Wang <ruifeng.wang@arm.com> NEON vector path of the PMD needs aarch64 support. But it was enabled for aarch32 build as well because aarch32 build had cpu_family set to aarch64. So build for aarch32 will fail due to unsupported intrinsics. Fixed aarch32 build by updating meson file to execule NEON vector implementation for aarch32. Fixes: 398358341419 ("net/bnxt: support NEON") Cc: lance.richardson@broadcom.com Cc: stable@dpdk.org Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> Reviewed-by: Lance Richardson <lance.richardson@broadcom.com> --- drivers/net/bnxt/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bnxt/meson.build b/drivers/net/bnxt/meson.build index 2896337b5..a2fd494da 100644 --- a/drivers/net/bnxt/meson.build +++ b/drivers/net/bnxt/meson.build @@ -74,6 +74,6 @@ sources = files('bnxt_cpr.c', if arch_subdir == 'x86' sources += files('bnxt_rxtx_vec_sse.c') -elif arch_subdir == 'arm' and host_machine.cpu_family().startswith('aarch64') +elif arch_subdir == 'arm' and dpdk_conf.get('RTE_ARCH_64') sources += files('bnxt_rxtx_vec_neon.c') endif -- 2.20.1
From: Ruifeng Wang <ruifeng.wang@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@solarflare.com Cc: stable@dpdk.org Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> --- 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 6cb9f0737f..0200c67521 100644 --- a/drivers/common/sfc_efx/meson.build +++ b/drivers/common/sfc_efx/meson.build @@ -5,7 +5,7 @@ # This software was jointly developed between OKTET Labs (under contract # for Solarflare) and Solarflare Communications, Inc. -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')) 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 c3ecdbe197..669038a47e 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')) build = false reason = 'only supported on x86_64 and aarch64' endif -- 2.20.1
From: Ruifeng Wang <ruifeng.wang@arm.com> NEON vector path of the PMD needs aarch64 support. But it was enabled for aarch32 build as well because aarch32 build had cpu_family set to aarch64. So build for aarch32 will fail due to unsupported intrinsics. Fix aarch32 build by updating meson file to exclude NEON vector implementation for aarch32. Fixes: 398358341419 ("net/bnxt: support NEON") Cc: lance.richardson@broadcom.com Cc: stable@dpdk.org Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> Reviewed-by: Lance Richardson <lance.richardson@broadcom.com> --- drivers/net/bnxt/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bnxt/meson.build b/drivers/net/bnxt/meson.build index 092655697f..710aef6b7b 100644 --- a/drivers/net/bnxt/meson.build +++ b/drivers/net/bnxt/meson.build @@ -80,6 +80,6 @@ sources = files('bnxt_cpr.c', if arch_subdir == 'x86' sources += files('bnxt_rxtx_vec_sse.c') -elif arch_subdir == 'arm' and host_machine.cpu_family().startswith('aarch64') +elif arch_subdir == 'arm' and dpdk_conf.get('RTE_ARCH_64') sources += files('bnxt_rxtx_vec_neon.c') endif -- 2.20.1
NEON vector path of the PMD needs aarch64 support. But it was enabled for aarch32 build as well because aarch32 build had cpu_family set to aarch64. So build for aarch32 will fail due to unsupported intrinsics. Fix aarch32 build by updating meson file to exclude NEON vector implementation for aarch32. Fixes: 749799482a72 ("net/virtio: add to meson build") Cc: bruce.richardson@intel.com Cc: stable@dpdk.org Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech> --- drivers/net/virtio/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/virtio/meson.build b/drivers/net/virtio/meson.build index d595cfdcab..88e231565e 100644 --- a/drivers/net/virtio/meson.build +++ b/drivers/net/virtio/meson.build @@ -39,7 +39,7 @@ if arch_subdir == 'x86' sources += files('virtio_rxtx_simple_sse.c') elif arch_subdir == 'ppc' sources += files('virtio_rxtx_simple_altivec.c') -elif arch_subdir == 'arm' and host_machine.cpu_family().startswith('aarch64') +elif arch_subdir == 'arm' and dpdk_conf.get('RTE_ARCH_64') sources += files('virtio_rxtx_packed.c') sources += files('virtio_rxtx_simple_neon.c') endif -- 2.20.1
From: Ruifeng Wang <ruifeng.wang@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@solarflare.com Cc: stable@dpdk.org Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> --- 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 6cb9f0737f..0200c67521 100644 --- a/drivers/common/sfc_efx/meson.build +++ b/drivers/common/sfc_efx/meson.build @@ -5,7 +5,7 @@ # This software was jointly developed between OKTET Labs (under contract # for Solarflare) and Solarflare Communications, Inc. -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')) 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 c3ecdbe197..669038a47e 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')) build = false reason = 'only supported on x86_64 and aarch64' endif -- 2.20.1
From: Ruifeng Wang <ruifeng.wang@arm.com> NEON vector path of the PMD needs aarch64 support. But it was enabled for aarch32 build as well because aarch32 build had cpu_family set to aarch64. So build for aarch32 will fail due to unsupported intrinsics. Fix aarch32 build by updating meson file to exclude NEON vector implementation for aarch32. Fixes: 398358341419 ("net/bnxt: support NEON") Cc: lance.richardson@broadcom.com Cc: stable@dpdk.org Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> Reviewed-by: Lance Richardson <lance.richardson@broadcom.com> --- drivers/net/bnxt/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bnxt/meson.build b/drivers/net/bnxt/meson.build index 092655697f..710aef6b7b 100644 --- a/drivers/net/bnxt/meson.build +++ b/drivers/net/bnxt/meson.build @@ -80,6 +80,6 @@ sources = files('bnxt_cpr.c', if arch_subdir == 'x86' sources += files('bnxt_rxtx_vec_sse.c') -elif arch_subdir == 'arm' and host_machine.cpu_family().startswith('aarch64') +elif arch_subdir == 'arm' and dpdk_conf.get('RTE_ARCH_64') sources += files('bnxt_rxtx_vec_neon.c') endif -- 2.20.1
NEON vector path of the PMD needs aarch64 support. But it was enabled for aarch32 build as well because aarch32 build had cpu_family set to aarch64. So build for aarch32 will fail due to unsupported intrinsics. Fix aarch32 build by updating meson file to exclude NEON vector implementation for aarch32. Fixes: 749799482a72 ("net/virtio: add to meson build") Cc: bruce.richardson@intel.com Cc: stable@dpdk.org Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech> --- drivers/net/virtio/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/virtio/meson.build b/drivers/net/virtio/meson.build index d595cfdcab..88e231565e 100644 --- a/drivers/net/virtio/meson.build +++ b/drivers/net/virtio/meson.build @@ -39,7 +39,7 @@ if arch_subdir == 'x86' sources += files('virtio_rxtx_simple_sse.c') elif arch_subdir == 'ppc' sources += files('virtio_rxtx_simple_altivec.c') -elif arch_subdir == 'arm' and host_machine.cpu_family().startswith('aarch64') +elif arch_subdir == 'arm' and dpdk_conf.get('RTE_ARCH_64') sources += files('virtio_rxtx_packed.c') sources += files('virtio_rxtx_simple_neon.c') endif -- 2.20.1
From: Ruifeng Wang <ruifeng.wang@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@solarflare.com Cc: stable@dpdk.org Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> --- 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')) 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')) build = false reason = 'only supported on x86_64 and aarch64' endif -- 2.20.1
From: Ruifeng Wang <ruifeng.wang@arm.com> NEON vector path of the PMD needs aarch64 support. But it was enabled for aarch32 build as well because aarch32 build had cpu_family set to aarch64. So build for aarch32 will fail due to unsupported intrinsics. Fix aarch32 build by updating meson file to exclude NEON vector implementation for aarch32. Fixes: 398358341419 ("net/bnxt: support NEON") Cc: lance.richardson@broadcom.com Cc: stable@dpdk.org Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> Reviewed-by: Lance Richardson <lance.richardson@broadcom.com> --- drivers/net/bnxt/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bnxt/meson.build b/drivers/net/bnxt/meson.build index 092655697f..710aef6b7b 100644 --- a/drivers/net/bnxt/meson.build +++ b/drivers/net/bnxt/meson.build @@ -80,6 +80,6 @@ sources = files('bnxt_cpr.c', if arch_subdir == 'x86' sources += files('bnxt_rxtx_vec_sse.c') -elif arch_subdir == 'arm' and host_machine.cpu_family().startswith('aarch64') +elif arch_subdir == 'arm' and dpdk_conf.get('RTE_ARCH_64') sources += files('bnxt_rxtx_vec_neon.c') endif -- 2.20.1
NEON vector path of the PMD needs aarch64 support. But it was enabled for aarch32 build as well because aarch32 build had cpu_family set to aarch64. So build for aarch32 will fail due to unsupported intrinsics. Fix aarch32 build by updating meson file to exclude NEON vector implementation for aarch32. Fixes: 749799482a72 ("net/virtio: add to meson build") Cc: bruce.richardson@intel.com Cc: stable@dpdk.org Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech> --- drivers/net/virtio/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/virtio/meson.build b/drivers/net/virtio/meson.build index d595cfdcab..88e231565e 100644 --- a/drivers/net/virtio/meson.build +++ b/drivers/net/virtio/meson.build @@ -39,7 +39,7 @@ if arch_subdir == 'x86' sources += files('virtio_rxtx_simple_sse.c') elif arch_subdir == 'ppc' sources += files('virtio_rxtx_simple_altivec.c') -elif arch_subdir == 'arm' and host_machine.cpu_family().startswith('aarch64') +elif arch_subdir == 'arm' and dpdk_conf.get('RTE_ARCH_64') sources += files('virtio_rxtx_packed.c') sources += files('virtio_rxtx_simple_neon.c') endif -- 2.20.1
On 4/21/21 11:50 AM, Juraj Linkeš wrote: > From: Ruifeng Wang <ruifeng.wang@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@solarflare.com > Cc: stable@dpdk.org > > Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> > Acked-by: Andrew Rybchenko <andrew.rybchenko@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 should be: if arch_subdir != 'x86' or arch_subdir != 'arm' or not dpdk_conf.get('RTE_ARCH_64') > 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 >
On 4/21/21 10:50 AM, Juraj Linkeš wrote:
> NEON vector path of the PMD needs aarch64 support. But it was
> enabled for aarch32 build as well because aarch32 build had
> cpu_family set to aarch64. So build for aarch32 will fail due
> to unsupported intrinsics.
>
> Fix aarch32 build by updating meson file to exclude NEON vector
> implementation for aarch32.
>
> Fixes: 749799482a72 ("net/virtio: add to meson build")
> Cc: bruce.richardson@intel.com
> Cc: stable@dpdk.org
>
> Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech>
> ---
> drivers/net/virtio/meson.build | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Thanks,
Maxime
> -----Original Message----- > From: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> > Sent: Wednesday, April 21, 2021 5:05 PM > To: Juraj Linkeš <juraj.linkes@pantheon.tech>; thomas@monjalon.net; > david.marchand@redhat.com; bruce.richardson@intel.com; > aconole@redhat.com; maicolgabriel@hotmail.com > Cc: dev@dpdk.org; Ruifeng Wang <Ruifeng.Wang@arm.com>; > arybchenko@solarflare.com; stable@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@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@solarflare.com > > Cc: stable@dpdk.org > > > > Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> > > Acked-by: Andrew Rybchenko <andrew.rybchenko@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 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. > > > 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 > >
> -----Original Message----- > From: Ruifeng Wang <Ruifeng.Wang@arm.com> > Sent: Wednesday, April 21, 2021 12:06 PM > To: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>; Juraj Linkeš > <juraj.linkes@pantheon.tech>; thomas@monjalon.net; > david.marchand@redhat.com; bruce.richardson@intel.com; > aconole@redhat.com; maicolgabriel@hotmail.com > Cc: dev@dpdk.org; arybchenko@solarflare.com; stable@dpdk.org; nd > <nd@arm.com> > Subject: RE: [dpdk-dev] [PATCH v16 1/8] net/sfc: fix aarch32 build > > > -----Original Message----- > > From: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> > > Sent: Wednesday, April 21, 2021 5:05 PM > > To: Juraj Linkeš <juraj.linkes@pantheon.tech>; thomas@monjalon.net; > > david.marchand@redhat.com; bruce.richardson@intel.com; > > aconole@redhat.com; maicolgabriel@hotmail.com > > Cc: dev@dpdk.org; Ruifeng Wang <Ruifeng.Wang@arm.com>; > > arybchenko@solarflare.com; stable@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@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@solarflare.com > > > Cc: stable@dpdk.org > > > > > > Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> > > > Acked-by: Andrew Rybchenko <andrew.rybchenko@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 > > >
On 4/21/21 5:08 PM, Juraj Linkeš wrote: > > >> -----Original Message----- >> From: Ruifeng Wang <Ruifeng.Wang@arm.com> >> Sent: Wednesday, April 21, 2021 12:06 PM >> To: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>; Juraj Linkeš >> <juraj.linkes@pantheon.tech>; thomas@monjalon.net; >> david.marchand@redhat.com; bruce.richardson@intel.com; >> aconole@redhat.com; maicolgabriel@hotmail.com >> Cc: dev@dpdk.org; arybchenko@solarflare.com; stable@dpdk.org; nd >> <nd@arm.com> >> Subject: RE: [dpdk-dev] [PATCH v16 1/8] net/sfc: fix aarch32 build >> >>> -----Original Message----- >>> From: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> >>> Sent: Wednesday, April 21, 2021 5:05 PM >>> To: Juraj Linkeš <juraj.linkes@pantheon.tech>; thomas@monjalon.net; >>> david.marchand@redhat.com; bruce.richardson@intel.com; >>> aconole@redhat.com; maicolgabriel@hotmail.com >>> Cc: dev@dpdk.org; Ruifeng Wang <Ruifeng.Wang@arm.com>; >>> arybchenko@solarflare.com; stable@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@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@solarflare.com >>>> Cc: stable@dpdk.org >>>> >>>> Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> >>>> Acked-by: Andrew Rybchenko <andrew.rybchenko@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'. Yes, many thanks. Andrew. > >>> >>>> 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 >>>> >
From: Ruifeng Wang <ruifeng.wang@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@solarflare.com Cc: stable@dpdk.org Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> --- 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 d87ba396b4..2d14186ecd 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' and arch_subdir != 'arm') or (not dpdk_conf.get('RTE_ARCH_64')) 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 b58425bf99..619d1e3b7d 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' and arch_subdir != 'arm') or (not dpdk_conf.get('RTE_ARCH_64')) build = false reason = 'only supported on x86_64 and aarch64' endif -- 2.20.1
From: Ruifeng Wang <ruifeng.wang@arm.com> NEON vector path of the PMD needs aarch64 support. But it was enabled for aarch32 build as well because aarch32 build had cpu_family set to aarch64. So build for aarch32 will fail due to unsupported intrinsics. Fix aarch32 build by updating meson file to exclude NEON vector implementation for aarch32. Fixes: 398358341419 ("net/bnxt: support NEON") Cc: lance.richardson@broadcom.com Cc: stable@dpdk.org Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> Reviewed-by: Lance Richardson <lance.richardson@broadcom.com> --- drivers/net/bnxt/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bnxt/meson.build b/drivers/net/bnxt/meson.build index 117c753489..5a72989915 100644 --- a/drivers/net/bnxt/meson.build +++ b/drivers/net/bnxt/meson.build @@ -82,6 +82,6 @@ sources = files( if arch_subdir == 'x86' sources += files('bnxt_rxtx_vec_sse.c') -elif arch_subdir == 'arm' and host_machine.cpu_family().startswith('aarch64') +elif arch_subdir == 'arm' and dpdk_conf.get('RTE_ARCH_64') sources += files('bnxt_rxtx_vec_neon.c') endif -- 2.20.1
NEON vector path of the PMD needs aarch64 support. But it was enabled for aarch32 build as well because aarch32 build had cpu_family set to aarch64. So build for aarch32 will fail due to unsupported intrinsics. Fix aarch32 build by updating meson file to exclude NEON vector implementation for aarch32. Fixes: 749799482a72 ("net/virtio: add to meson build") Cc: bruce.richardson@intel.com Cc: stable@dpdk.org Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> --- drivers/net/virtio/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/virtio/meson.build b/drivers/net/virtio/meson.build index 81b0a61baf..01a333ada2 100644 --- a/drivers/net/virtio/meson.build +++ b/drivers/net/virtio/meson.build @@ -41,7 +41,7 @@ if arch_subdir == 'x86' sources += files('virtio_rxtx_simple_sse.c') elif arch_subdir == 'ppc' sources += files('virtio_rxtx_simple_altivec.c') -elif arch_subdir == 'arm' and host_machine.cpu_family().startswith('aarch64') +elif arch_subdir == 'arm' and dpdk_conf.get('RTE_ARCH_64') sources += files('virtio_rxtx_packed.c') sources += files('virtio_rxtx_simple_neon.c') endif -- 2.20.1
[-- Attachment #1: Type: text/plain, Size: 1382 bytes --] On Thu, Apr 22, 2021 at 5:49 AM Juraj Linkeš <juraj.linkes@pantheon.tech> wrote: > > From: Ruifeng Wang <ruifeng.wang@arm.com> > > NEON vector path of the PMD needs aarch64 support. But it was > enabled for aarch32 build as well because aarch32 build had > cpu_family set to aarch64. So build for aarch32 will fail due > to unsupported intrinsics. > > Fix aarch32 build by updating meson file to exclude NEON vector > implementation for aarch32. > > Fixes: 398358341419 ("net/bnxt: support NEON") > Cc: lance.richardson@broadcom.com > Cc: stable@dpdk.org > > Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> > Reviewed-by: Lance Richardson <lance.richardson@broadcom.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> > --- > drivers/net/bnxt/meson.build | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/net/bnxt/meson.build b/drivers/net/bnxt/meson.build > index 117c753489..5a72989915 100644 > --- a/drivers/net/bnxt/meson.build > +++ b/drivers/net/bnxt/meson.build > @@ -82,6 +82,6 @@ sources = files( > > if arch_subdir == 'x86' > sources += files('bnxt_rxtx_vec_sse.c') > -elif arch_subdir == 'arm' and host_machine.cpu_family().startswith('aarch64') > +elif arch_subdir == 'arm' and dpdk_conf.get('RTE_ARCH_64') > sources += files('bnxt_rxtx_vec_neon.c') > endif > -- > 2.20.1 >
From: Ruifeng Wang <ruifeng.wang@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@solarflare.com Cc: stable@dpdk.org Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> --- 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 f42ccf609c..0cf0a23bf8 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' and arch_subdir != 'arm') or (not dpdk_conf.get('RTE_ARCH_64')) 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 ccf5984d87..18e7edb568 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' and arch_subdir != 'arm') or (not dpdk_conf.get('RTE_ARCH_64')) build = false reason = 'only supported on x86_64 and aarch64' endif -- 2.20.1
From: Ruifeng Wang <ruifeng.wang@arm.com> NEON vector path of the PMD needs aarch64 support. But it was enabled for aarch32 build as well because aarch32 build had cpu_family set to aarch64. So build for aarch32 will fail due to unsupported intrinsics. Fix aarch32 build by updating meson file to exclude NEON vector implementation for aarch32. Fixes: 398358341419 ("net/bnxt: support NEON") Cc: lance.richardson@broadcom.com Cc: stable@dpdk.org Signed-off-by: Ruifeng Wang <ruifeng.wang@arm.com> Reviewed-by: Lance Richardson <lance.richardson@broadcom.com> --- drivers/net/bnxt/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/bnxt/meson.build b/drivers/net/bnxt/meson.build index 41c4796366..53a324b4a8 100644 --- a/drivers/net/bnxt/meson.build +++ b/drivers/net/bnxt/meson.build @@ -99,6 +99,6 @@ if arch_subdir == 'x86' c_args: [cflags, '-mavx2']) objs += bnxt_avx2_lib.extract_objects('bnxt_rxtx_vec_avx2.c') endif -elif arch_subdir == 'arm' and host_machine.cpu_family().startswith('aarch64') +elif arch_subdir == 'arm' and dpdk_conf.get('RTE_ARCH_64') sources += files('bnxt_rxtx_vec_neon.c') endif -- 2.20.1
NEON vector path of the PMD needs aarch64 support. But it was enabled for aarch32 build as well because aarch32 build had cpu_family set to aarch64. So build for aarch32 will fail due to unsupported intrinsics. Fix aarch32 build by updating meson file to exclude NEON vector implementation for aarch32. Fixes: 749799482a72 ("net/virtio: add to meson build") Cc: bruce.richardson@intel.com Cc: stable@dpdk.org Signed-off-by: Juraj Linkeš <juraj.linkes@pantheon.tech> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> --- drivers/net/virtio/meson.build | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/virtio/meson.build b/drivers/net/virtio/meson.build index 81b0a61baf..01a333ada2 100644 --- a/drivers/net/virtio/meson.build +++ b/drivers/net/virtio/meson.build @@ -41,7 +41,7 @@ if arch_subdir == 'x86' sources += files('virtio_rxtx_simple_sse.c') elif arch_subdir == 'ppc' sources += files('virtio_rxtx_simple_altivec.c') -elif arch_subdir == 'arm' and host_machine.cpu_family().startswith('aarch64') +elif arch_subdir == 'arm' and dpdk_conf.get('RTE_ARCH_64') sources += files('virtio_rxtx_packed.c') sources += files('virtio_rxtx_simple_neon.c') endif -- 2.20.1