eal/x86: identify AVX512 CPU flag
authorZhihong Wang <zhihong.wang@intel.com>
Mon, 18 Jan 2016 03:05:10 +0000 (22:05 -0500)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Wed, 27 Jan 2016 20:14:52 +0000 (21:14 +0100)
Read CPUID to check if AVX512 is supported by CPU.

Signed-off-by: Zhihong Wang <zhihong.wang@intel.com>
lib/librte_eal/common/include/arch/x86/rte_cpuflags.h

index dd56553..89c0d9d 100644 (file)
@@ -131,6 +131,7 @@ enum rte_cpu_flag_t {
        RTE_CPUFLAG_ERMS,                   /**< ERMS */
        RTE_CPUFLAG_INVPCID,                /**< INVPCID */
        RTE_CPUFLAG_RTM,                    /**< Transactional memory */
+       RTE_CPUFLAG_AVX512F,                /**< AVX512F */
 
        /* (EAX 80000001h) ECX features */
        RTE_CPUFLAG_LAHF_SAHF,              /**< LAHF_SAHF */
@@ -238,6 +239,7 @@ static const struct feature_entry cpu_feature_table[] = {
        FEAT_DEF(ERMS, 0x00000007, 0, RTE_REG_EBX,  8)
        FEAT_DEF(INVPCID, 0x00000007, 0, RTE_REG_EBX, 10)
        FEAT_DEF(RTM, 0x00000007, 0, RTE_REG_EBX, 11)
+       FEAT_DEF(AVX512F, 0x00000007, 0, RTE_REG_EBX, 16)
 
        FEAT_DEF(LAHF_SAHF, 0x80000001, 0, RTE_REG_ECX,  0)
        FEAT_DEF(LZCNT, 0x80000001, 0, RTE_REG_ECX,  4)