On Thu, Sep 16, 2021 at 2:53 AM David Christensen <d...@linux.vnet.ibm.com> wrote: > > > > On 9/15/21 9:28 AM, Bruce Richardson wrote: > > On Fri, Dec 11, 2020 at 03:51:11PM +0000, Bruce Richardson wrote: > >> Traditionally any apps built using DPDK had to support the same > >> instruction sets as supported when the DPDK SDK itself was built, since > >> that was "leaked" through to the end-app and DPDK headers via > >> RTE_MACHINE_CPUFLAG_* values. Therefore, when converting over to meson > >> for app build correctness the "-march=" flag was included in the > >> pkg-config cflags output. > >> > >> However, since the DPDK-specific CPU flags are now obsolete, and we > >> instead check directly for compiler-defined flags, we should no longer > >> need to force the exact same architecture match in all cases. To > >> faciliate such flexibility, a new pkg_config_machine_args array - which > >> defaults to the existing machine_args array has been defined. The > >> individual architectures - x86, arm and ppc - can choose if and how to > >> override this value themselves. > >> > >> For x86, since SSE4.2 is the minimum instruction-set level needed to run > >> DPDK, and since some header files assume that minimum level of > >> instruction set support, we override the "-march=" value with "-msse4" > >> for the pkg-config file. This allows end applications to set their own > >> "march" value while still ensuring valid DPDK compilation. > >> > >> Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> > >> --- > >> > >> CC: Jerin Jacob <jer...@marvell.com> > >> CC: Ruifeng Wang <ruifeng.w...@arm.com> > >> CC: Honnappa Nagarahalli <honnappa.nagaraha...@arm.com> > >> CC: David Christensen <d...@linux.vnet.ibm.com> for > >> Feedback requested from ARM and PPC maintainers as to this change > >> and what flags, if any, need to be in the .pc file for DPDK on such > >> platforms. For example - is setting 'pkg_config_machine_args' to > >> 'machine_args' by default necessary behaviour? > >> > > > > Ping for further thoughts or input on this patch.
Armv8 has dedicated config(taken least cpu flags which supports all armv8) for this purpose config/arm/arm64_armv8_linux_gcc. So this change looks good to me. @Ruifeng Wang (Arm Technology China) Any comments? > > On initial inspection I don't see any additional value for PPC systems. > Selection of a CPU through -mcpu implies a full ISA for that CPU, > including things like vector extensions, at least with respect to the > minimum supported POWER8 CPU (ISA 2.07) and later ISAs. The values of > machine_args and pkg_config_machine_args should be identical in all > cases I can think of. > > If a third party OpenPOWER CPU comes along some time in the future then > the requirements may change. > > Dave