From: Alexandre Derumier <aderumier@odiso.com>
To: pve-devel@lists.proxmox.com
Subject: [pve-devel] [PATCH v3 qemu-server 2/7] cpumodel: add cpu models with flags
Date: Mon, 22 May 2023 12:25:23 +0200 [thread overview]
Message-ID: <20230522102528.186955-5-aderumier@odiso.com> (raw)
In-Reply-To: <20230522102528.186955-1-aderumier@odiso.com>
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@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
next prev parent reply other threads:[~2023-05-22 10:26 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-22 10:25 [pve-devel] [PATCH-SERIES v3 qemu-server/manager/common] add and set x86-64-v2 as default model for new vms and detect best cpumodel Alexandre Derumier
2023-05-22 10:25 ` [pve-devel] [PATCH v3 qemu-server 1/7] cpuconfig: add new x86-64-vX models Alexandre Derumier
2023-05-31 11:08 ` Fiona Ebner
2023-05-31 15:08 ` DERUMIER, Alexandre
2023-06-01 9:17 ` Fiona Ebner
2023-06-01 11:27 ` DERUMIER, Alexandre
2023-05-22 10:25 ` [pve-devel] [PATCH v2 pve-manager 1/1] qemu: processor : set x86-64-v2 as default cputype for create wizard Alexandre Derumier
2023-05-22 10:25 ` [pve-devel] [PATCH pve-common 1/1] read_cpuinfo: add msr support Alexandre Derumier
2023-05-22 10:25 ` Alexandre Derumier [this message]
2023-05-22 10:25 ` [pve-devel] [PATCH v3 qemu-server 3/7] cpumodel: compute qemu supported flags Alexandre Derumier
2023-05-22 10:25 ` [pve-devel] [PATCH v3 qemu-server 4/7] cpuconfig: add get_host_cpu_flags Alexandre Derumier
2023-05-22 10:25 ` [pve-devel] [PATCH v3 qemu-server 5/7] cpuconfig: add find_best_cpumodel Alexandre Derumier
2023-05-22 10:25 ` [pve-devel] [PATCH v3 qemu-server 6/7] cpuconfig: add find_hosts_common_flags Alexandre Derumier
2023-05-22 10:25 ` [pve-devel] [PATCH v3 qemu-server 7/7] add best cpu model detection tests Alexandre Derumier
2023-05-31 11:36 ` [pve-devel] [PATCH-SERIES v3 qemu-server/manager/common] add and set x86-64-v2 as default model for new vms and detect best cpumodel Fiona Ebner
2023-05-31 14:34 ` DERUMIER, Alexandre
2023-06-01 8:34 ` Fiona Ebner
2023-06-01 9:06 ` DERUMIER, Alexandre
2023-06-03 14:14 ` Thomas Lamprecht
2023-06-04 6:29 ` DERUMIER, Alexandre
2023-06-03 14:05 ` Thomas Lamprecht
2023-06-01 9:34 ` Fiona Ebner
2023-06-01 11:37 ` DERUMIER, Alexandre
2023-06-01 13:53 ` DERUMIER, Alexandre
2023-06-01 15:56 ` Fiona Ebner
2023-06-01 21:15 ` DERUMIER, Alexandre
2023-06-02 7:28 ` Fiona Ebner
2023-06-02 9:13 ` DERUMIER, Alexandre
2023-06-02 11:13 ` Fiona Ebner
2023-06-02 11:44 ` DERUMIER, Alexandre
2023-06-03 14:21 ` Thomas Lamprecht
[not found] ` <8277a27b-a70f-b731-69f7-fc9ae69b2da2@binovo.es>
2023-06-01 16:00 ` Fiona Ebner
2023-06-02 12:41 ` Aaron Lauterer
2023-06-02 14:15 ` DERUMIER, Alexandre
2023-06-02 16:09 ` Aaron Lauterer
2023-06-02 16:27 ` DERUMIER, Alexandre
[not found] ` <fa3565e5-3a9c-9348-f291-554a0e0d6628@binovo.es>
2023-06-06 9:15 ` Fiona Ebner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230522102528.186955-5-aderumier@odiso.com \
--to=aderumier@odiso.com \
--cc=pve-devel@lists.proxmox.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox