Currently in DPDK, any checks for the presence or absense of specific CPU flags has to be enclosed in #ifdef blocks, since the flags are conditionally defined per architecture as enums. This set attempts to improve this situation by allowing the flags to be queried as strings, with a CPU architecture type also specified. One new public API is provided for this. [Other APIs used by that are internal for now, but have an rte_ prefix in case we want to expose them publically later]
To test out this new functionality the crc code in the net library is updated to use this, demonstrating how the code can be simplified and the use of #ifdef's reduced. Bruce Richardson (4): build: fix quoting on RTE_ARCH string value config/arm: fix missing define for arm platforms eal: allow checking CPU flags by name net: replace ifdefs with runtime branches config/arm/meson.build | 2 + config/ppc_64/meson.build | 2 +- config/x86/meson.build | 4 +- lib/librte_eal/common/eal_common_cpuflags.c | 41 +++++++++++++++++ .../common/include/generic/rte_cpuflags.h | 44 ++++++++++++++++++- lib/librte_eal/rte_eal_version.map | 3 ++ lib/librte_net/rte_net_crc.c | 38 ++++++++++------ 7 files changed, 117 insertions(+), 17 deletions(-) -- 2.21.0