]> xenbits.xensource.com Git - people/royger/xen.git/commitdiff
tools: re-sync CPUID leaf 7 tables
authorJan Beulich <jbeulich@suse.com>
Thu, 14 Mar 2019 15:38:39 +0000 (16:38 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 14 Mar 2019 15:38:39 +0000 (16:38 +0100)
Bring libxl's in line with the public header, and update xen-cpuid's to
the latest information available in Intel's documentation (SDM ver 068
and ISA extensions ver 035), with (as before) the exception on MAWAU.

Some pre-existing strings get changed to match SDM naming. This should
be benign in xen-cpuid, and I hope it's also acceptable in libxl, where
people actually using the slightly wrong names would have to update
their guest config files.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
tools/libxl/libxl_cpuid.c
tools/misc/xen-cpuid.c

index 52e16c20ed5ee91ee24a467cdf701a7965d34306..66c3f05b9dd4e9bee3a3780e04280ab1b9936030 100644 (file)
@@ -185,7 +185,7 @@ int libxl_cpuid_parse_config(libxl_cpuid_policy_list *cpuid, const char* str)
         {"rdseed",       0x00000007,  0, CPUID_REG_EBX, 18,  1},
         {"adx",          0x00000007,  0, CPUID_REG_EBX, 19,  1},
         {"smap",         0x00000007,  0, CPUID_REG_EBX, 20,  1},
-        {"avx512ifma",   0x00000007,  0, CPUID_REG_EBX, 21,  1},
+        {"avx512-ifma",  0x00000007,  0, CPUID_REG_EBX, 21,  1},
         {"clflushopt",   0x00000007,  0, CPUID_REG_EBX, 23,  1},
         {"clwb",         0x00000007,  0, CPUID_REG_EBX, 24,  1},
         {"avx512pf",     0x00000007,  0, CPUID_REG_EBX, 26,  1},
@@ -195,10 +195,19 @@ int libxl_cpuid_parse_config(libxl_cpuid_policy_list *cpuid, const char* str)
         {"avx512bw",     0x00000007,  0, CPUID_REG_EBX, 30,  1},
         {"avx512vl",     0x00000007,  0, CPUID_REG_EBX, 31,  1},
 
-        {"avx512vbmi",   0x00000007,  0, CPUID_REG_ECX,  1,  1},
+        {"prefetchwt1",  0x00000007,  0, CPUID_REG_ECX,  0,  1},
+        {"avx512-vbmi",  0x00000007,  0, CPUID_REG_ECX,  1,  1},
         {"umip",         0x00000007,  0, CPUID_REG_ECX,  2,  1},
         {"pku",          0x00000007,  0, CPUID_REG_ECX,  3,  1},
         {"ospke",        0x00000007,  0, CPUID_REG_ECX,  4,  1},
+        {"avx512-vbmi2", 0x00000007,  0, CPUID_REG_ECX,  6,  1},
+        {"gfni",         0x00000007,  0, CPUID_REG_ECX,  8,  1},
+        {"vaes",         0x00000007,  0, CPUID_REG_ECX,  9,  1},
+        {"vpclmulqdq",   0x00000007,  0, CPUID_REG_ECX, 10,  1},
+        {"avx512-vnni",  0x00000007,  0, CPUID_REG_ECX, 11,  1},
+        {"avx512-bitalg",0x00000007,  0, CPUID_REG_ECX, 12,  1},
+        {"avx512-vpopcntdq",0x00000007,0,CPUID_REG_ECX, 14,  1},
+        {"rdpid",        0x00000007,  0, CPUID_REG_ECX, 22,  1},
 
         {"avx512-4vnniw",0x00000007,  0, CPUID_REG_EDX,  2,  1},
         {"avx512-4fmaps",0x00000007,  0, CPUID_REG_EDX,  3,  1},
index d87a72e3e65e9e7401d2c4953256dc88a8cd54d8..f82d9571a762eb078065c683d35f88e2aaec5c54 100644 (file)
@@ -104,8 +104,8 @@ static const char *str_7b0[32] =
     [14] = "mpx",      [15] = "pqe",
     [16] = "avx512f",  [17] = "avx512dq",
     [18] = "rdseed",   [19] = "adx",
-    [20] = "smap",     [21] = "avx512ifma",
-    [22] = "pcomit",   [23] = "clflushopt",
+    [20] = "smap",     [21] = "avx512-ifma",
+    [22] = "pcommit",  [23] = "clflushopt",
     [24] = "clwb",     [25] = "pt",
     [26] = "avx512pf", [27] = "avx512er",
     [28] = "avx512cd", [29] = "sha",
@@ -120,13 +120,20 @@ static const char *str_Da1[32] =
 
 static const char *str_7c0[32] =
 {
-    [ 0] = "prechwt1", [ 1] = "avx512vbmi",
-    [ 2] = "umip",     [ 3] = "pku",
-    [ 4] = "ospke",
-
+    [ 0] = "prefetchwt1",      [ 1] = "avx512_vbmi",
+    [ 2] = "umip",             [ 3] = "pku",
+    [ 4] = "ospke",            [ 5] = "waitpkg",
+    [ 6] = "avx512_vbmi2",
+    [ 8] = "gfni",             [ 9] = "vaes",
+    [10] = "vpclmulqdq",       [11] = "avx512_vnni",
+    [12] = "avx512_bitalg",
     [14] = "avx512_vpopcntdq",
 
     [22] = "rdpid",
+    /* 24 */                   [25] = "cldemote",
+    /* 26 */                   [27] = "movdiri",
+    [28] = "movdir64b",
+    [30] = "sgx_lc",
 };
 
 static const char *str_e7d[32] =
@@ -145,9 +152,12 @@ static const char *str_e8b[32] =
 static const char *str_7d0[32] =
 {
     [ 2] = "avx512_4vnniw", [ 3] = "avx512_4fmaps",
+    [ 4] = "fsrm",
 
     /* 12 */                [13] = "tsx-force-abort",
 
+    [18] = "pconfig",
+
     [26] = "ibrsb",         [27] = "stibp",
     [28] = "l1d_flush",     [29] = "arch_caps",
     /* 30 */                [31] = "ssbd",