[PATCH 1/2] config/arm: Do not require processor information
Ruifeng Wang
Ruifeng.Wang at arm.com
Mon Apr 17 09:41:08 CEST 2023
> -----Original Message-----
> From: Akihiko Odaki <akihiko.odaki at daynix.com>
> Sent: Friday, April 14, 2023 8:42 PM
> To: Ruifeng Wang <Ruifeng.Wang at arm.com>; Bruce Richardson <bruce.richardson at intel.com>
> Cc: dev at dpdk.org; Akihiko Odaki <akihiko.odaki at daynix.com>
> Subject: [PATCH 1/2] config/arm: Do not require processor information
>
> DPDK can be built even without exact processor information for x86 and ppc so allow to
> build for Arm even if we don't know the targeted processor is unknown.
Hi Akihiko,
The design idea was to require an explicit generic build.
Default/native build doesn't fall back to generic build when SoC info is not on the list.
So the user has less chance to generate a suboptimal binary by accident.
>
> Signed-off-by: Akihiko Odaki <akihiko.odaki at daynix.com>
> ---
> config/arm/meson.build | 36 +++++++++++++++++++-----------------
> 1 file changed, 19 insertions(+), 17 deletions(-)
>
> diff --git a/config/arm/meson.build b/config/arm/meson.build index 6442ec9596..724c00ad7e
> 100644
> --- a/config/arm/meson.build
> +++ b/config/arm/meson.build
> @@ -582,29 +582,31 @@ if update_flags
> enable_drivers += ',' + soc_config.get('enable_drivers', '')
> endif
>
> - if implementers.has_key(implementer_id)
> + if not implementers.has_key(implementer_id)
> + implementer_id = 'generic'
> + endif
> +
> + implementer_config = implementers[implementer_id]
> + part_number_config = implementer_config['part_number_config']
> +
> + if not part_number_config.has_key(part_number)
> + implementer_id = 'generic'
> +
> + if dpdk_conf.get('RTE_ARCH_32')
> + part_number = 'generic_aarch32'
> + else
> + part_number = 'generic'
> + endif
> +
> implementer_config = implementers[implementer_id]
> - else
> - error('Unsupported Arm implementer: @0 at . '.format(implementer_id) +
> - 'Please add support for it or use the generic ' +
> - '(-Dplatform=generic) build.')
> + part_number_config = implementer_config['part_number_config']
> endif
>
> + part_number_config = part_number_config[part_number]
> +
> message('Arm implementer: ' + implementer_config['description'])
> message('Arm part number: ' + part_number)
>
> - part_number_config = implementer_config['part_number_config']
> - if part_number_config.has_key(part_number)
> - # use the specified part_number machine args if found
> - part_number_config = part_number_config[part_number]
> - else
> - # unknown part number
> - error('Unsupported part number @0@ of implementer @1 at . '
> - .format(part_number, implementer_id) +
> - 'Please add support for it or use the generic ' +
> - '(-Dplatform=generic) build.')
> - endif
> -
> # add/overwrite flags in the proper order
> dpdk_flags = flags_common + implementer_config['flags'] +
> part_number_config.get('flags', []) + soc_flags
>
> --
> 2.40.0
More information about the dev
mailing list