eal: add intrinsics support check infrastructure
authorLiang Ma <liang.j.ma@intel.com>
Tue, 27 Oct 2020 14:59:03 +0000 (14:59 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Thu, 29 Oct 2020 21:46:31 +0000 (22:46 +0100)
commit128021421256ecfcd1dfce83bf270c16506c197b
treec9a2996db3735883abe30cc74a36ff35c4129c39
parentcda57d9388c03fc3b363387abc6c995e174604f0
eal: add intrinsics support check infrastructure

Currently, it is not possible to check support for intrinsics that
are platform-specific, cannot be abstracted in a generic way, or do not
have support on all architectures. The CPUID flags can be used to some
extent, but they are only defined for their platform, while intrinsics
will be available to all code as they are in generic headers.

This patch introduces infrastructure to check support for certain
platform-specific intrinsics, and adds support for checking support for
IA power management-related intrinsics for UMWAIT/UMONITOR and TPAUSE.

Signed-off-by: Anatoly Burakov <anatoly.burakov@intel.com>
Signed-off-by: Liang Ma <liang.j.ma@intel.com>
Acked-by: David Christensen <drc@linux.vnet.ibm.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>
Acked-by: Ruifeng Wang <ruifeng.wang@arm.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
lib/librte_eal/arm/rte_cpuflags.c
lib/librte_eal/include/generic/rte_cpuflags.h
lib/librte_eal/include/generic/rte_power_intrinsics.h
lib/librte_eal/ppc/rte_cpuflags.c
lib/librte_eal/version.map
lib/librte_eal/x86/rte_cpuflags.c