Commit f7fda280 authored by Xiao Guangrong's avatar Xiao Guangrong Committed by Eduardo Habkost
Browse files

target-i386: Enable clflushopt/clwb/pcommit instructions

These instructions are used by NVDIMM drivers and the specification is
located at:
https://software.intel.com/sites/default/files/managed/0d/53/319433-022.pdf



There instructions are available on Skylake Server.

Signed-off-by: default avatarXiao Guangrong <guangrong.xiao@linux.intel.com>
Reviewed-by: default avatarRichard Henderson <rth@twiddle.net>
Signed-off-by: default avatarEduardo Habkost <ehabkost@redhat.com>
parent 6aa91e4a
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -259,8 +259,8 @@ static const char *svm_feature_name[] = {
static const char *cpuid_7_0_ebx_feature_name[] = {
    "fsgsbase", "tsc_adjust", NULL, "bmi1", "hle", "avx2", NULL, "smep",
    "bmi2", "erms", "invpcid", "rtm", NULL, NULL, "mpx", NULL,
    "avx512f", NULL, "rdseed", "adx", "smap", NULL, NULL, NULL,
    NULL, NULL, "avx512pf", "avx512er", "avx512cd", NULL, NULL, NULL,
    "avx512f", NULL, "rdseed", "adx", "smap", NULL, "pcommit", "clflushopt",
    "clwb", NULL, "avx512pf", "avx512er", "avx512cd", NULL, NULL, NULL,
};

static const char *cpuid_apm_edx_feature_name[] = {
+3 −0
Original line number Diff line number Diff line
@@ -576,6 +576,9 @@ typedef uint32_t FeatureWordArray[FEATURE_WORDS];
#define CPUID_7_0_EBX_RDSEED   (1U << 18)
#define CPUID_7_0_EBX_ADX      (1U << 19)
#define CPUID_7_0_EBX_SMAP     (1U << 20)
#define CPUID_7_0_EBX_PCOMMIT  (1U << 22) /* Persistent Commit */
#define CPUID_7_0_EBX_CLFLUSHOPT (1U << 23) /* Flush a Cache Line Optimized */
#define CPUID_7_0_EBX_CLWB     (1U << 24) /* Cache Line Write Back */
#define CPUID_7_0_EBX_AVX512PF (1U << 26) /* AVX-512 Prefetch */
#define CPUID_7_0_EBX_AVX512ER (1U << 27) /* AVX-512 Exponential and Reciprocal */
#define CPUID_7_0_EBX_AVX512CD (1U << 28) /* AVX-512 Conflict Detection */