[pve-devel] [PATCH v3 qemu-server 2/7] cpumodel: add cpu models with flags
Alexandre Derumier
aderumier at odiso.com
Mon May 22 12:25:23 CEST 2023
This is all qemu cpu models for qemu 8.0 with cpu flags
extracted from qemu cpu.c using
https://github.com/libvirt/libvirt/blob/master/src/cpu_map/sync_qemu_models_i386.py
(with some modifications, as the script is buggy, and override main model flags with
last version flags)
Signed-off-by: Alexandre Derumier <aderumier at odiso.com>
---
PVE/QemuServer/CPUConfig.pm | 78 +-
PVE/QemuServer/CPUModels.pm | 4211 +++++++++++++++++++++++++++++++++++
PVE/QemuServer/Makefile | 1 +
3 files changed, 4220 insertions(+), 70 deletions(-)
create mode 100644 PVE/QemuServer/CPUModels.pm
diff --git a/PVE/QemuServer/CPUConfig.pm b/PVE/QemuServer/CPUConfig.pm
index 54bbd55..758f93f 100644
--- a/PVE/QemuServer/CPUConfig.pm
+++ b/PVE/QemuServer/CPUConfig.pm
@@ -6,6 +6,7 @@ use warnings;
use PVE::JSONSchema;
use PVE::Cluster qw(cfs_register_file cfs_read_file);
use PVE::QemuServer::Helpers qw(min_version);
+use PVE::QemuServer::CPUModels qw(get_default_cpu_models);
use base qw(PVE::SectionConfig Exporter);
@@ -56,70 +57,7 @@ my $depreacated_cpu_map = {
'Icelake-Client-noTSX' => 'Icelake-Server-noTSX',
};
-my $cpu_vendor_list = {
- # Intel CPUs
- 486 => 'GenuineIntel',
- pentium => 'GenuineIntel',
- pentium2 => 'GenuineIntel',
- pentium3 => 'GenuineIntel',
- coreduo => 'GenuineIntel',
- core2duo => 'GenuineIntel',
- Conroe => 'GenuineIntel',
- Penryn => 'GenuineIntel',
- Nehalem => 'GenuineIntel',
- 'Nehalem-IBRS' => 'GenuineIntel',
- Westmere => 'GenuineIntel',
- 'Westmere-IBRS' => 'GenuineIntel',
- SandyBridge => 'GenuineIntel',
- 'SandyBridge-IBRS' => 'GenuineIntel',
- IvyBridge => 'GenuineIntel',
- 'IvyBridge-IBRS' => 'GenuineIntel',
- Haswell => 'GenuineIntel',
- 'Haswell-IBRS' => 'GenuineIntel',
- 'Haswell-noTSX' => 'GenuineIntel',
- 'Haswell-noTSX-IBRS' => 'GenuineIntel',
- Broadwell => 'GenuineIntel',
- 'Broadwell-IBRS' => 'GenuineIntel',
- 'Broadwell-noTSX' => 'GenuineIntel',
- 'Broadwell-noTSX-IBRS' => 'GenuineIntel',
- 'Skylake-Client' => 'GenuineIntel',
- 'Skylake-Client-IBRS' => 'GenuineIntel',
- 'Skylake-Client-noTSX-IBRS' => 'GenuineIntel',
- 'Skylake-Server' => 'GenuineIntel',
- 'Skylake-Server-IBRS' => 'GenuineIntel',
- 'Skylake-Server-noTSX-IBRS' => 'GenuineIntel',
- 'Cascadelake-Server' => 'GenuineIntel',
- 'Cascadelake-Server-noTSX' => 'GenuineIntel',
- KnightsMill => 'GenuineIntel',
- 'Icelake-Client' => 'GenuineIntel', # depreacated, removed with QEMU 7.1
- 'Icelake-Client-noTSX' => 'GenuineIntel', # depreacated, removed with QEMU 7.1
- 'Icelake-Server' => 'GenuineIntel',
- 'Icelake-Server-noTSX' => 'GenuineIntel',
-
- # AMD CPUs
- athlon => 'AuthenticAMD',
- phenom => 'AuthenticAMD',
- Opteron_G1 => 'AuthenticAMD',
- Opteron_G2 => 'AuthenticAMD',
- Opteron_G3 => 'AuthenticAMD',
- Opteron_G4 => 'AuthenticAMD',
- Opteron_G5 => 'AuthenticAMD',
- EPYC => 'AuthenticAMD',
- 'EPYC-IBPB' => 'AuthenticAMD',
- 'EPYC-Rome' => 'AuthenticAMD',
- 'EPYC-Milan' => 'AuthenticAMD',
-
- # generic types, use vendor from host node
- host => 'default',
- kvm32 => 'default',
- kvm64 => 'default',
- qemu32 => 'default',
- qemu64 => 'default',
- 'x86-64-v1' => 'default',
- 'x86-64-v2' => 'default',
- 'x86-64-v3' => 'default',
- max => 'default',
-};
+my $qemu_cpu_models = get_default_cpu_models();
my @supported_cpu_flags = (
'pcid',
@@ -153,7 +91,7 @@ my $cpu_fmt = {
description => "CPU model and vendor to report to the guest. Must be a QEMU/KVM supported model."
." Only valid for custom CPU model definitions, default models will always report themselves to the guest OS.",
type => 'string',
- enum => [ sort { lc("$a") cmp lc("$b") } keys %$cpu_vendor_list ],
+ enum => [ sort { lc("$a") cmp lc("$b") } keys %$qemu_cpu_models ],
default => 'kvm64',
optional => 1,
},
@@ -234,7 +172,7 @@ sub validate_vm_cpu_conf {
get_custom_model($cputype);
} else {
die "Built-in cputype '$cputype' is not defined (missing 'custom-' prefix?)\n"
- if !defined($cpu_vendor_list->{$cputype});
+ if !defined($qemu_cpu_models->{$cputype});
}
# in a VM-specific config, certain properties are limited/forbidden
@@ -316,11 +254,11 @@ sub get_cpu_models {
my $models = [];
- for my $default_model (keys %{$cpu_vendor_list}) {
+ for my $default_model (keys %{$qemu_cpu_models}) {
push @$models, {
name => $default_model,
custom => 0,
- vendor => $cpu_vendor_list->{$default_model},
+ vendor => $qemu_cpu_models->{$default_model}->{vendor},
};
}
@@ -330,7 +268,7 @@ sub get_cpu_models {
for my $custom_model (keys %{$conf->{ids}}) {
my $reported_model = $conf->{ids}->{$custom_model}->{'reported-model'};
$reported_model //= $cpu_fmt->{'reported-model'}->{default};
- my $vendor = $cpu_vendor_list->{$reported_model};
+ my $vendor = $qemu_cpu_models->{$reported_model}->{vendor};
push @$models, {
name => "custom-$custom_model",
custom => 1,
@@ -550,7 +488,7 @@ sub get_cpu_options {
# $cputype is the "reported-model" for custom types, so we can just look up
# the vendor in the default list
- my $cpu_vendor = $cpu_vendor_list->{$cputype};
+ my $cpu_vendor = $qemu_cpu_models->{$cputype}->{vendor};
if ($cpu_vendor) {
$pve_forced_flags->{'vendor'} = {
value => $cpu_vendor,
diff --git a/PVE/QemuServer/CPUModels.pm b/PVE/QemuServer/CPUModels.pm
new file mode 100644
index 0000000..20aacb1
--- /dev/null
+++ b/PVE/QemuServer/CPUModels.pm
@@ -0,0 +1,4211 @@
+package PVE::QemuServer::CPUModels;
+
+use strict;
+use warnings;
+
+use base 'Exporter';
+
+our @EXPORT_OK = qw(
+get_default_cpu_models
+);
+
+
+my $cpumodels = {
+ 'Icelake-Client' => { # depreacated, removed with QEMU 7.1
+ vendor => 'GenuineIntel', # depreacated, removed with QEMU 7.1
+ family => 0,
+ model => 0,
+ version => 0,
+ },
+ 'Icelake-Client-noTSX' => { # depreacated, removed with QEMU 7.1
+ vendor => 'GenuineIntel',
+ family => 0,
+ model => 0,
+ version => 0,
+ },
+ 'host' => {
+ vendor => 'default',
+ family => 1,
+ model => 0,
+ version => 1,
+ },
+ 'max' => {
+ vendor => 'default',
+ family => 1,
+ model => 0,
+ version => 1,
+ },
+ 'x86-64-v1' => {
+ vendor => 'default',
+ family => 2,
+ model => 11,
+ version => 1,
+ flags => {
+ 'apic' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'fpu' => 1,
+ 'fxsr' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'sep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ }
+ },
+ 'x86-64-v2' => {
+ vendor => 'default',
+ family => 2,
+ model => 12,
+ version => 1,
+ flags => {
+ 'apic' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'fpu' => 1,
+ 'fxsr' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'sep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'vme' => 1,
+ 'aes' => 1,
+ }
+ },
+ 'x86-64-v3' => {
+ vendor => 'default',
+ family => 2,
+ model => 13,
+ version => 1,
+ flags => {
+ 'abm' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'smep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'vme' => 1,
+ 'xsave' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'qemu64' => {
+ vendor => 'default',
+ family => 1,
+ model => 1,
+ version => 1,
+ flags => {
+ 'apic' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'fpu' => 1,
+ 'fxsr' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'sep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'svm' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ },
+ },
+ 'phenom' => {
+ vendor => 'AuthenticAMD',
+ model => 2,
+ version => 1,
+ flags => {
+ '3dnow' => 1,
+ '3dnowext' => 1,
+ 'abm' => 1,
+ 'apic' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'fpu' => 1,
+ 'fxsr' => 1,
+ 'fxsr_opt' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'mmxext' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'npt' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pdpe1gb' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4a' => 1,
+ 'svm' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'vme' => 1,
+ },
+ },
+ 'core2duo' => {
+ vendor => 'GenuineIntel',
+ model => 15,
+ family => 6,
+ version => 1,
+ flags => {
+ 'acpi' => 1,
+ 'apic' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'fpu' => 1,
+ 'fxsr' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'sep' => 1,
+ 'ss' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'vme' => 1,
+ },
+ },
+ 'kvm64' => {
+ vendor => 'default',
+ family => 2,
+ model => 6,
+ version => 1,
+ flags => {
+ 'apic' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'fpu' => 1,
+ 'fxsr' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'sep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'vme' => 1,
+ },
+ },
+ 'qemu32' => {
+ vendor => 'default',
+ family => 1,
+ model => 6,
+ version => 1,
+ flags => {
+ 'apic' => 1,
+ 'cmov' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'fpu' => 1,
+ 'fxsr' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'pse' => 1,
+ 'sep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'tsc' => 1,
+ },
+ },
+ 'kvm32' => {
+ vendor => 'default',
+ family => 1,
+ model => 6,
+ version => 1,
+ flags => {
+ 'apic' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'fpu' => 1,
+ 'fxsr' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'sep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'tsc' => 1,
+ 'vme' => 1,
+ },
+ },
+ 'coreduo' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 14,
+ version => 1,
+ flags => {
+ 'acpi' => 1,
+ 'apic' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'fpu' => 1,
+ 'fxsr' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'pse' => 1,
+ 'sep' => 1,
+ 'ss' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'tsc' => 1,
+ 'vme' => 1,
+ },
+ },
+ '486' => {
+ vendor => 'GenuineIntel',
+ family => 4,
+ model => 8,
+ version => 1,
+ flags => {
+ 'fpu' => 1,
+ 'pse' => 1,
+ 'vme' => 1,
+ },
+ },
+ 'pentium' => {
+ vendor => 'GenuineIntel',
+ family => 5,
+ model => 4,
+ version => 1,
+ flags => {
+ 'apic' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'fpu' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'pse' => 1,
+ 'tsc' => 1,
+ 'vme' => 1,
+ },
+ },
+ 'pentium2' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 5,
+ version => 1,
+ flags => {
+ 'apic' => 1,
+ 'cmov' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'fpu' => 1,
+ 'fxsr' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pge' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'sep' => 1,
+ 'tsc' => 1,
+ 'vme' => 1,
+ },
+ },
+ 'pentium3' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 7,
+ version => 1,
+ flags => {
+ 'apic' => 1,
+ 'cmov' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'fpu' => 1,
+ 'fxsr' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pge' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'sep' => 1,
+ 'sse' => 1,
+ 'tsc' => 1,
+ 'vme' => 1,
+ },
+ },
+ 'athlon' => {
+ vendor => 'AuthenticAMD',
+ model => 2,
+ version => 1,
+ flags => {
+ '3dnow' => 1,
+ '3dnowext' => 1,
+ 'apic' => 1,
+ 'cmov' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'fpu' => 1,
+ 'fxsr' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'mmxext' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pge' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'sep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'tsc' => 1,
+ 'vme' => 1,
+ },
+ },
+ 'Conroe' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 15,
+ version => 1,
+ flags => {
+ 'apic' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'fpu' => 1,
+ 'fxsr' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'sep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'vme' => 1,
+ },
+ },
+ 'Penryn' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 23,
+ version => 1,
+ flags => {
+ 'apic' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'fpu' => 1,
+ 'fxsr' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'sep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'vme' => 1,
+ },
+ },
+ 'Nehalem' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 26,
+ version => 1,
+ flags => {
+ 'apic' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'fpu' => 1,
+ 'fxsr' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'sep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'vme' => 1,
+ },
+ },
+ 'Nehalem-IBRS' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 26,
+ version => 2,
+ flags => {
+ 'apic' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'fpu' => 1,
+ 'fxsr' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'sep' => 1,
+ 'spec-ctrl' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'vme' => 1,
+ },
+ },
+ 'Westmere' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 44,
+ version => 1,
+ flags => {
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'fpu' => 1,
+ 'fxsr' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pclmuldq' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'sep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'vme' => 1,
+ },
+ },
+ 'Westmere-IBRS' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 44,
+ version => 2,
+ flags => {
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'fpu' => 1,
+ 'fxsr' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pclmuldq' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'sep' => 1,
+ 'spec-ctrl' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'vme' => 1,
+ },
+ },
+ 'SandyBridge' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 45,
+ version => 1,
+ flags => {
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'fpu' => 1,
+ 'fxsr' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pclmuldq' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xsave' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'SandyBridge-IBRS' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 45,
+ version => 2,
+ flags => {
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'fpu' => 1,
+ 'fxsr' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pclmuldq' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'spec-ctrl' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xsave' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'IvyBridge' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 62,
+ version => 1,
+ flags => {
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pclmuldq' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'smep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xsave' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'IvyBridge-IBRS' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 62,
+ version => 2,
+ flags => {
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pclmuldq' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xsave' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'Haswell' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 63,
+ version => 1,
+ flags => {
+ 'abm' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'hle' => 1,
+ 'invpcid' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdtscp' => 1,
+ 'rtm' => 1,
+ 'sep' => 1,
+ 'smep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xsave' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'Haswell-noTSX' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 63,
+ version => 2,
+ flags => {
+ 'abm' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'invpcid' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'smep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xsave' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'Haswell-IBRS' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 63,
+ version => 3,
+ flags => {
+ 'abm' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'hle' => 1,
+ 'invpcid' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdtscp' => 1,
+ 'rtm' => 1,
+ 'sep' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xsave' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'Haswell-noTSX-IBRS' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 63,
+ version => 4,
+ flags => {
+ 'abm' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'invpcid' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xsave' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'Broadwell' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 79,
+ version => 1,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'hle' => 1,
+ 'invpcid' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'rtm' => 1,
+ 'sep' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xsave' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'Broadwell-noTSX' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 79,
+ version => 2,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'invpcid' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xsave' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'Broadwell-IBRS' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 79,
+ version => 3,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'hle' => 1,
+ 'invpcid' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'rtm' => 1,
+ 'sep' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xsave' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'Broadwell-noTSX-IBRS' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 79,
+ version => 4,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'invpcid' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xsave' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'Skylake-Client' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 78,
+ version => 1,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'hle' => 1,
+ 'invpcid' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'rtm' => 1,
+ 'sep' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'Skylake-Client-IBRS' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 78,
+ version => 2,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'hle' => 1,
+ 'invpcid' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'rtm' => 1,
+ 'sep' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'Skylake-Client-noTSX-IBRS' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 78,
+ version => 3,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'invpcid' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'Skylake-Client-v4' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 78,
+ version => 4,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'invpcid' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveopt' => 1,
+ 'xsaves' => 1,
+ },
+ },
+ 'Skylake-Server' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 85,
+ version => 1,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'avx512bw' => 1,
+ 'avx512cd' => 1,
+ 'avx512dq' => 1,
+ 'avx512f' => 1,
+ 'avx512vl' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'clflushopt' => 1,
+ 'clwb' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'hle' => 1,
+ 'invpcid' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'pge' => 1,
+ 'pku' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'rtm' => 1,
+ 'sep' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'Skylake-Server-IBRS' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 85,
+ version => 2,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'avx512bw' => 1,
+ 'avx512cd' => 1,
+ 'avx512dq' => 1,
+ 'avx512f' => 1,
+ 'avx512vl' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'clwb' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'hle' => 1,
+ 'invpcid' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'pge' => 1,
+ 'pku' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'rtm' => 1,
+ 'sep' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'Skylake-Server-noTSX-IBRS' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 85,
+ version => 3,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'avx512bw' => 1,
+ 'avx512cd' => 1,
+ 'avx512dq' => 1,
+ 'avx512f' => 1,
+ 'avx512vl' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'clwb' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'invpcid' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'pge' => 1,
+ 'pku' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'Skylake-Server-v4' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 85,
+ version => 4,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'avx512bw' => 1,
+ 'avx512cd' => 1,
+ 'avx512dq' => 1,
+ 'avx512f' => 1,
+ 'avx512vl' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'clwb' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'invpcid' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'pge' => 1,
+ 'pku' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'Skylake-Server-v5' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 85,
+ version => 5,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'avx512bw' => 1,
+ 'avx512cd' => 1,
+ 'avx512dq' => 1,
+ 'avx512f' => 1,
+ 'avx512vl' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'clwb' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'invpcid' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'pge' => 1,
+ 'pku' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveopt' => 1,
+ 'xsaves' => 1,
+ },
+ },
+ 'Cascadelake-Server' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 86,
+ version => 1,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'avx512bw' => 1,
+ 'avx512cd' => 1,
+ 'avx512dq' => 1,
+ 'avx512f' => 1,
+ 'avx512vl' => 1,
+ 'avx512vnni' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'clflushopt' => 1,
+ 'clwb' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'hle' => 1,
+ 'invpcid' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'pge' => 1,
+ 'pku' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'rtm' => 1,
+ 'sep' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'ssbd' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'Cascadelake-Server-v2' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 86,
+ version => 2,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'arch-capabilities' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'avx512bw' => 1,
+ 'avx512cd' => 1,
+ 'avx512dq' => 1,
+ 'avx512f' => 1,
+ 'avx512vl' => 1,
+ 'avx512vnni' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'clflushopt' => 1,
+ 'clwb' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'hle' => 1,
+ 'ibrs-all' => 1,
+ 'invpcid' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mds-no' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'pge' => 1,
+ 'pku' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdctl-no' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'rtm' => 1,
+ 'sep' => 1,
+ 'skip-l1dfl-vmentry' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'ssbd' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'Cascadelake-Server-noTSX' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 86,
+ version => 3,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'arch-capabilities' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'avx512bw' => 1,
+ 'avx512cd' => 1,
+ 'avx512dq' => 1,
+ 'avx512f' => 1,
+ 'avx512vl' => 1,
+ 'avx512vnni' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'clflushopt' => 1,
+ 'clwb' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'ibrs-all' => 1,
+ 'invpcid' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mds-no' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'pge' => 1,
+ 'pku' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdctl-no' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'skip-l1dfl-vmentry' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'ssbd' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'Cascadelake-Server-v4' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 86,
+ version => 4,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'arch-capabilities' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'avx512bw' => 1,
+ 'avx512cd' => 1,
+ 'avx512dq' => 1,
+ 'avx512f' => 1,
+ 'avx512vl' => 1,
+ 'avx512vnni' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'clflushopt' => 1,
+ 'clwb' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'ibrs-all' => 1,
+ 'invpcid' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mds-no' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'pge' => 1,
+ 'pku' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdctl-no' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'skip-l1dfl-vmentry' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'ssbd' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'Cascadelake-Server-v5' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 86,
+ version => 5,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'arch-capabilities' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'avx512bw' => 1,
+ 'avx512cd' => 1,
+ 'avx512dq' => 1,
+ 'avx512f' => 1,
+ 'avx512vl' => 1,
+ 'avx512vnni' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'clflushopt' => 1,
+ 'clwb' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'ibrs-all' => 1,
+ 'invpcid' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mds-no' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'pge' => 1,
+ 'pku' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdctl-no' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'skip-l1dfl-vmentry' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'ssbd' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveopt' => 1,
+ 'xsaves' => 1,
+ },
+ },
+ 'Cooperlake' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 87,
+ version => 1,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'arch-capabilities' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'avx512-bf16' => 1,
+ 'avx512bw' => 1,
+ 'avx512cd' => 1,
+ 'avx512dq' => 1,
+ 'avx512f' => 1,
+ 'avx512vl' => 1,
+ 'avx512vnni' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'clflushopt' => 1,
+ 'clwb' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'hle' => 1,
+ 'ibrs-all' => 1,
+ 'invpcid' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mds-no' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'pge' => 1,
+ 'pku' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pschange-mc-no' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdctl-no' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'rtm' => 1,
+ 'sep' => 1,
+ 'skip-l1dfl-vmentry' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'ssbd' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'stibp' => 1,
+ 'syscall' => 1,
+ 'taa-no' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'Cooperlake-v2' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 87,
+ version => 2,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'arch-capabilities' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'avx512-bf16' => 1,
+ 'avx512bw' => 1,
+ 'avx512cd' => 1,
+ 'avx512dq' => 1,
+ 'avx512f' => 1,
+ 'avx512vl' => 1,
+ 'avx512vnni' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'clflushopt' => 1,
+ 'clwb' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'hle' => 1,
+ 'ibrs-all' => 1,
+ 'invpcid' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mds-no' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'pge' => 1,
+ 'pku' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pschange-mc-no' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdctl-no' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'rtm' => 1,
+ 'sep' => 1,
+ 'skip-l1dfl-vmentry' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'ssbd' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'stibp' => 1,
+ 'syscall' => 1,
+ 'taa-no' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'vme' => 1,
+ 'x2apic' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveopt' => 1,
+ 'xsaves' => 1,
+ },
+ },
+ 'Icelake-Server' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 134,
+ version => 1,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'avx512-vpopcntdq' => 1,
+ 'avx512bitalg' => 1,
+ 'avx512bw' => 1,
+ 'avx512cd' => 1,
+ 'avx512dq' => 1,
+ 'avx512f' => 1,
+ 'avx512vbmi' => 1,
+ 'avx512vbmi2' => 1,
+ 'avx512vl' => 1,
+ 'avx512vnni' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'clflushopt' => 1,
+ 'clwb' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'gfni' => 1,
+ 'hle' => 1,
+ 'invpcid' => 1,
+ 'la57' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'pge' => 1,
+ 'pku' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'rtm' => 1,
+ 'sep' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'ssbd' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'umip' => 1,
+ 'vaes' => 1,
+ 'vme' => 1,
+ 'vpclmulqdq' => 1,
+ 'wbnoinvd' => 1,
+ 'x2apic' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'Icelake-Server-noTSX' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 134,
+ version => 2,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'avx512-vpopcntdq' => 1,
+ 'avx512bitalg' => 1,
+ 'avx512bw' => 1,
+ 'avx512cd' => 1,
+ 'avx512dq' => 1,
+ 'avx512f' => 1,
+ 'avx512vbmi' => 1,
+ 'avx512vbmi2' => 1,
+ 'avx512vl' => 1,
+ 'avx512vnni' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'clflushopt' => 1,
+ 'clwb' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'gfni' => 1,
+ 'invpcid' => 1,
+ 'la57' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'pge' => 1,
+ 'pku' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'ssbd' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'umip' => 1,
+ 'vaes' => 1,
+ 'vme' => 1,
+ 'vpclmulqdq' => 1,
+ 'wbnoinvd' => 1,
+ 'x2apic' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'Icelake-Server-v3' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 134,
+ version => 3,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'arch-capabilities' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'avx512-vpopcntdq' => 1,
+ 'avx512bitalg' => 1,
+ 'avx512bw' => 1,
+ 'avx512cd' => 1,
+ 'avx512dq' => 1,
+ 'avx512f' => 1,
+ 'avx512vbmi' => 1,
+ 'avx512vbmi2' => 1,
+ 'avx512vl' => 1,
+ 'avx512vnni' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'clflushopt' => 1,
+ 'clwb' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'gfni' => 1,
+ 'ibrs-all' => 1,
+ 'invpcid' => 1,
+ 'la57' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mds-no' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'pge' => 1,
+ 'pku' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pschange-mc-no' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdctl-no' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'skip-l1dfl-vmentry' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'ssbd' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'taa-no' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'umip' => 1,
+ 'vaes' => 1,
+ 'vme' => 1,
+ 'vpclmulqdq' => 1,
+ 'wbnoinvd' => 1,
+ 'x2apic' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'Icelake-Server-v4' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 134,
+ version => 4,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'arch-capabilities' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'avx512-vpopcntdq' => 1,
+ 'avx512bitalg' => 1,
+ 'avx512bw' => 1,
+ 'avx512cd' => 1,
+ 'avx512dq' => 1,
+ 'avx512f' => 1,
+ 'avx512ifma' => 1,
+ 'avx512vbmi' => 1,
+ 'avx512vbmi2' => 1,
+ 'avx512vl' => 1,
+ 'avx512vnni' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'clflushopt' => 1,
+ 'clwb' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fsrm' => 1,
+ 'fxsr' => 1,
+ 'gfni' => 1,
+ 'ibrs-all' => 1,
+ 'invpcid' => 1,
+ 'la57' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mds-no' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'pge' => 1,
+ 'pku' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pschange-mc-no' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdctl-no' => 1,
+ 'rdpid' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'sha-ni' => 1,
+ 'skip-l1dfl-vmentry' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'ssbd' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'taa-no' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'umip' => 1,
+ 'vaes' => 1,
+ 'vme' => 1,
+ 'vpclmulqdq' => 1,
+ 'wbnoinvd' => 1,
+ 'x2apic' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'Icelake-Server-v5' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 134,
+ version => 5,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'arch-capabilities' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'avx512-vpopcntdq' => 1,
+ 'avx512bitalg' => 1,
+ 'avx512bw' => 1,
+ 'avx512cd' => 1,
+ 'avx512dq' => 1,
+ 'avx512f' => 1,
+ 'avx512ifma' => 1,
+ 'avx512vbmi' => 1,
+ 'avx512vbmi2' => 1,
+ 'avx512vl' => 1,
+ 'avx512vnni' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'clflushopt' => 1,
+ 'clwb' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fsrm' => 1,
+ 'fxsr' => 1,
+ 'gfni' => 1,
+ 'ibrs-all' => 1,
+ 'invpcid' => 1,
+ 'la57' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mds-no' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'pge' => 1,
+ 'pku' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pschange-mc-no' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdctl-no' => 1,
+ 'rdpid' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'sha-ni' => 1,
+ 'skip-l1dfl-vmentry' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'ssbd' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'taa-no' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'umip' => 1,
+ 'vaes' => 1,
+ 'vme' => 1,
+ 'vpclmulqdq' => 1,
+ 'wbnoinvd' => 1,
+ 'x2apic' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveopt' => 1,
+ 'xsaves' => 1,
+ },
+ },
+ 'Icelake-Server-v6' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 134,
+ version => 6,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'arch-capabilities' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'avx512-vpopcntdq' => 1,
+ 'avx512bitalg' => 1,
+ 'avx512bw' => 1,
+ 'avx512cd' => 1,
+ 'avx512dq' => 1,
+ 'avx512f' => 1,
+ 'avx512ifma' => 1,
+ 'avx512vbmi' => 1,
+ 'avx512vbmi2' => 1,
+ 'avx512vl' => 1,
+ 'avx512vnni' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'clflushopt' => 1,
+ 'clwb' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fsrm' => 1,
+ 'fxsr' => 1,
+ 'gfni' => 1,
+ 'ibrs-all' => 1,
+ 'invpcid' => 1,
+ 'la57' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mds-no' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'pge' => 1,
+ 'pku' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pschange-mc-no' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdctl-no' => 1,
+ 'rdpid' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'sha-ni' => 1,
+ 'skip-l1dfl-vmentry' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'ssbd' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'taa-no' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'umip' => 1,
+ 'vaes' => 1,
+ 'vme' => 1,
+ 'vpclmulqdq' => 1,
+ 'wbnoinvd' => 1,
+ 'x2apic' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveopt' => 1,
+ 'xsaves' => 1,
+ },
+ },
+ 'SapphireRapids' => {
+ vendor => 'GenuineIntel',
+ family => 6,
+ model => 143,
+ version => 1,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'amx-bf16' => 1,
+ 'amx-int8' => 1,
+ 'amx-tile' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'arch-capabilities' => 1,
+ 'avx' => 1,
+ 'avx-vnni' => 1,
+ 'avx2' => 1,
+ 'avx512-bf16' => 1,
+ 'avx512-fp16' => 1,
+ 'avx512-vpopcntdq' => 1,
+ 'avx512bitalg' => 1,
+ 'avx512bw' => 1,
+ 'avx512cd' => 1,
+ 'avx512dq' => 1,
+ 'avx512f' => 1,
+ 'avx512ifma' => 1,
+ 'avx512vbmi' => 1,
+ 'avx512vbmi2' => 1,
+ 'avx512vl' => 1,
+ 'avx512vnni' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'bus-lock-detect' => 1,
+ 'clflush' => 1,
+ 'clflushopt' => 1,
+ 'clwb' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fsrc' => 1,
+ 'fsrm' => 1,
+ 'fsrs' => 1,
+ 'fxsr' => 1,
+ 'fzrm' => 1,
+ 'gfni' => 1,
+ 'hle' => 1,
+ 'ibrs-all' => 1,
+ 'invpcid' => 1,
+ 'la57' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mds-no' => 1,
+ 'mmx' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'pge' => 1,
+ 'pku' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pschange-mc-no' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdctl-no' => 1,
+ 'rdpid' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'rtm' => 1,
+ 'sep' => 1,
+ 'serialize' => 1,
+ 'sha-ni' => 1,
+ 'skip-l1dfl-vmentry' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'spec-ctrl' => 1,
+ 'ssbd' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'ssse3' => 1,
+ 'syscall' => 1,
+ 'taa-no' => 1,
+ 'tsc' => 1,
+ 'tsc-deadline' => 1,
+ 'tsx-ldtrk' => 1,
+ 'umip' => 1,
+ 'vaes' => 1,
+ 'vme' => 1,
+ 'vpclmulqdq' => 1,
+ 'wbnoinvd' => 1,
+ 'x2apic' => 1,
+ 'xfd' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveopt' => 1,
+ 'xsaves' => 1,
+ },
+ },
+ 'Opteron_G1' => {
+ vendor => 'AuthenticAMD',
+ family => 15,
+ model => 6,
+ version => 1,
+ flags => {
+ 'apic' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'fpu' => 1,
+ 'fxsr' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'sep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'vme' => 1,
+ },
+ },
+ 'Opteron_G2' => {
+ vendor => 'AuthenticAMD',
+ family => 16,
+ model => 6,
+ version => 1,
+ flags => {
+ 'apic' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'fpu' => 1,
+ 'fxsr' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'sep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'svm' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'vme' => 1,
+ },
+ },
+ 'Opteron_G3' => {
+ vendor => 'AuthenticAMD',
+ family => 16,
+ model => 2,
+ version => 1,
+ flags => {
+ 'abm' => 1,
+ 'apic' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'fpu' => 1,
+ 'fxsr' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'misalignsse' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4a' => 1,
+ 'svm' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'vme' => 1,
+ },
+ },
+ 'Opteron_G4' => {
+ vendor => 'AuthenticAMD',
+ family => 21,
+ model => 1,
+ version => 1,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'avx' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'fma4' => 1,
+ 'fpu' => 1,
+ 'fxsr' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'misalignsse' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'npt' => 1,
+ 'nrip-save' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'sse4a' => 1,
+ 'ssse3' => 1,
+ 'svm' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'vme' => 1,
+ 'xop' => 1,
+ 'xsave' => 1,
+ },
+ },
+ 'Opteron_G5' => {
+ vendor => 'AuthenticAMD',
+ family => 21,
+ model => 2,
+ version => 1,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'avx' => 1,
+ 'clflush' => 1,
+ 'cmov' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fma4' => 1,
+ 'fpu' => 1,
+ 'fxsr' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'misalignsse' => 1,
+ 'mmx' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'npt' => 1,
+ 'nrip-save' => 1,
+ 'nx' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'sse4a' => 1,
+ 'ssse3' => 1,
+ 'svm' => 1,
+ 'syscall' => 1,
+ 'tbm' => 1,
+ 'tsc' => 1,
+ 'vme' => 1,
+ 'xop' => 1,
+ 'xsave' => 1,
+ },
+ },
+ 'EPYC' => {
+ vendor => 'AuthenticAMD',
+ family => 23,
+ model => 1,
+ version => 1,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'clflushopt' => 1,
+ 'cmov' => 1,
+ 'cr8legacy' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'fxsr_opt' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'misalignsse' => 1,
+ 'mmx' => 1,
+ 'mmxext' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'npt' => 1,
+ 'nrip-save' => 1,
+ 'nx' => 1,
+ 'osvw' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'sha-ni' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'sse4a' => 1,
+ 'ssse3' => 1,
+ 'svm' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'vme' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'EPYC-IBPB' => {
+ vendor => 'AuthenticAMD',
+ family => 23,
+ model => 1,
+ version => 2,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'clflushopt' => 1,
+ 'cmov' => 1,
+ 'cr8legacy' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'fxsr_opt' => 1,
+ 'ibpb' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'misalignsse' => 1,
+ 'mmx' => 1,
+ 'mmxext' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'npt' => 1,
+ 'nrip-save' => 1,
+ 'nx' => 1,
+ 'osvw' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'sha-ni' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'sse4a' => 1,
+ 'ssse3' => 1,
+ 'svm' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'vme' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveopt' => 1,
+ },
+ },
+ 'EPYC-v3' => {
+ vendor => 'AuthenticAMD',
+ family => 23,
+ model => 1,
+ version => 3,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'clflushopt' => 1,
+ 'clzero' => 1,
+ 'cmov' => 1,
+ 'cr8legacy' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'fxsr_opt' => 1,
+ 'ibpb' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'misalignsse' => 1,
+ 'mmx' => 1,
+ 'mmxext' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'npt' => 1,
+ 'nrip-save' => 1,
+ 'nx' => 1,
+ 'osvw' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'perfctr_core' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'sha-ni' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'sse4a' => 1,
+ 'ssse3' => 1,
+ 'svm' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'vme' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveerptr' => 1,
+ 'xsaveopt' => 1,
+ 'xsaves' => 1,
+ },
+ },
+ 'EPYC-Rome' => {
+ vendor => 'AuthenticAMD',
+ family => 23,
+ model => 49,
+ version => 1,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'amd-stibp' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'clflushopt' => 1,
+ 'clwb' => 1,
+ 'clzero' => 1,
+ 'cmov' => 1,
+ 'cr8legacy' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'fxsr_opt' => 1,
+ 'ibpb' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'misalignsse' => 1,
+ 'mmx' => 1,
+ 'mmxext' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'npt' => 1,
+ 'nrip-save' => 1,
+ 'nx' => 1,
+ 'osvw' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'perfctr_core' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdpid' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'sha-ni' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'sse4a' => 1,
+ 'ssse3' => 1,
+ 'svm' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'umip' => 1,
+ 'vme' => 1,
+ 'wbnoinvd' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveerptr' => 1,
+ 'xsaveopt' => 1,
+ 'xsaves' => 1,
+ },
+ },
+ 'EPYC-Rome-v2' => {
+ vendor => 'AuthenticAMD',
+ family => 23,
+ model => 49,
+ version => 2,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'amd-ssbd' => 1,
+ 'amd-stibp' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'clflushopt' => 1,
+ 'clwb' => 1,
+ 'clzero' => 1,
+ 'cmov' => 1,
+ 'cr8legacy' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fxsr' => 1,
+ 'fxsr_opt' => 1,
+ 'ibpb' => 1,
+ 'ibrs' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'misalignsse' => 1,
+ 'mmx' => 1,
+ 'mmxext' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'npt' => 1,
+ 'nrip-save' => 1,
+ 'nx' => 1,
+ 'osvw' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'perfctr_core' => 1,
+ 'pge' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdpid' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'sha-ni' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'sse4a' => 1,
+ 'ssse3' => 1,
+ 'svm' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'umip' => 1,
+ 'vme' => 1,
+ 'wbnoinvd' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveerptr' => 1,
+ 'xsaveopt' => 1,
+ 'xsaves' => 1,
+ },
+ },
+ 'EPYC-Milan' => {
+ vendor => 'AuthenticAMD',
+ family => 25,
+ model => 1,
+ version => 1,
+ flags => {
+ '3dnowprefetch' => 1,
+ 'abm' => 1,
+ 'adx' => 1,
+ 'aes' => 1,
+ 'amd-ssbd' => 1,
+ 'amd-stibp' => 1,
+ 'apic' => 1,
+ 'arat' => 1,
+ 'avx' => 1,
+ 'avx2' => 1,
+ 'bmi1' => 1,
+ 'bmi2' => 1,
+ 'clflush' => 1,
+ 'clflushopt' => 1,
+ 'clwb' => 1,
+ 'clzero' => 1,
+ 'cmov' => 1,
+ 'cr8legacy' => 1,
+ 'cx16' => 1,
+ 'cx8' => 1,
+ 'de' => 1,
+ 'erms' => 1,
+ 'f16c' => 1,
+ 'fma' => 1,
+ 'fpu' => 1,
+ 'fsgsbase' => 1,
+ 'fsrm' => 1,
+ 'fxsr' => 1,
+ 'fxsr_opt' => 1,
+ 'ibpb' => 1,
+ 'ibrs' => 1,
+ 'invpcid' => 1,
+ 'lahf_lm' => 1,
+ 'lm' => 1,
+ 'mca' => 1,
+ 'mce' => 1,
+ 'misalignsse' => 1,
+ 'mmx' => 1,
+ 'mmxext' => 1,
+ 'movbe' => 1,
+ 'msr' => 1,
+ 'mtrr' => 1,
+ 'npt' => 1,
+ 'nrip-save' => 1,
+ 'nx' => 1,
+ 'osvw' => 1,
+ 'pae' => 1,
+ 'pat' => 1,
+ 'pcid' => 1,
+ 'pclmuldq' => 1,
+ 'pdpe1gb' => 1,
+ 'perfctr_core' => 1,
+ 'pge' => 1,
+ 'pku' => 1,
+ 'pni' => 1,
+ 'popcnt' => 1,
+ 'pse' => 1,
+ 'pse36' => 1,
+ 'rdpid' => 1,
+ 'rdrand' => 1,
+ 'rdseed' => 1,
+ 'rdtscp' => 1,
+ 'sep' => 1,
+ 'sha-ni' => 1,
+ 'smap' => 1,
+ 'smep' => 1,
+ 'sse' => 1,
+ 'sse2' => 1,
+ 'sse4.1' => 1,
+ 'sse4.2' => 1,
+ 'sse4a' => 1,
+ 'ssse3' => 1,
+ 'svm' => 1,
+ 'svme-addr-chk' => 1,
+ 'syscall' => 1,
+ 'tsc' => 1,
+ 'umip' => 1,
+ 'vme' => 1,
+ 'wbnoinvd' => 1,
+ 'xgetbv1' => 1,
+ 'xsave' => 1,
+ 'xsavec' => 1,
+ 'xsaveerptr' => 1,
+ 'xsaveopt' => 1,
+ 'xsaves' => 1,
+ },
+ },
+};
+
+
+sub get_default_cpu_models {
+ return $cpumodels;
+}
+
+1;
\ No newline at end of file
diff --git a/PVE/QemuServer/Makefile b/PVE/QemuServer/Makefile
index e4ed184..97540af 100644
--- a/PVE/QemuServer/Makefile
+++ b/PVE/QemuServer/Makefile
@@ -9,6 +9,7 @@ SOURCES=PCI.pm \
Monitor.pm \
Machine.pm \
CPUConfig.pm \
+ CPUModels.pm \
CGroup.pm \
Drive.pm \
--
2.30.2
More information about the pve-devel
mailing list