> -----Original Message----- > From: Akihiko Odaki <akihiko.od...@daynix.com> > Sent: Friday, April 14, 2023 8:42 PM > To: Ruifeng Wang <ruifeng.w...@arm.com>; Bruce Richardson > <bruce.richard...@intel.com> > Cc: dev@dpdk.org; Akihiko Odaki <akihiko.od...@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.od...@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@. '.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@. ' > - .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