On 4/21/21 5:08 PM, Juraj Linkeš wrote: > > >> -----Original Message----- >> From: Ruifeng Wang <ruifeng.w...@arm.com> >> Sent: Wednesday, April 21, 2021 12:06 PM >> To: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru>; Juraj Linkeš >> <juraj.lin...@pantheon.tech>; tho...@monjalon.net; >> david.march...@redhat.com; bruce.richard...@intel.com; >> acon...@redhat.com; maicolgabr...@hotmail.com >> Cc: dev@dpdk.org; arybche...@solarflare.com; sta...@dpdk.org; nd >> <n...@arm.com> >> Subject: RE: [dpdk-dev] [PATCH v16 1/8] net/sfc: fix aarch32 build >> >>> -----Original Message----- >>> From: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> >>> Sent: Wednesday, April 21, 2021 5:05 PM >>> To: Juraj Linkeš <juraj.lin...@pantheon.tech>; tho...@monjalon.net; >>> david.march...@redhat.com; bruce.richard...@intel.com; >>> acon...@redhat.com; maicolgabr...@hotmail.com >>> Cc: dev@dpdk.org; Ruifeng Wang <ruifeng.w...@arm.com>; >>> arybche...@solarflare.com; sta...@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.w...@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: arybche...@solarflare.com >>>> Cc: sta...@dpdk.org >>>> >>>> Signed-off-by: Ruifeng Wang <ruifeng.w...@arm.com> >>>> Acked-by: Andrew Rybchenko <andrew.rybche...@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 >>>> >