From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 7CF419AB6A for ; Mon, 22 May 2023 12:26:13 +0200 (CEST) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 43B392FC96 for ; Mon, 22 May 2023 12:25:43 +0200 (CEST) Received: from bastionodiso.odiso.net (bastionodiso.odiso.net [185.151.191.93]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS for ; Mon, 22 May 2023 12:25:37 +0200 (CEST) Received: from kvmformation3.odiso.net (formationkvm3.odiso.net [10.3.94.12]) by bastionodiso.odiso.net (Postfix) with ESMTP id 064A58B65; Mon, 22 May 2023 12:25:30 +0200 (CEST) Received: by kvmformation3.odiso.net (Postfix, from userid 0) id 049442E8386; Mon, 22 May 2023 12:25:30 +0200 (CEST) From: Alexandre Derumier To: pve-devel@lists.proxmox.com Date: Mon, 22 May 2023 12:25:23 +0200 Message-Id: <20230522102528.186955-5-aderumier@odiso.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230522102528.186955-1-aderumier@odiso.com> References: <20230522102528.186955-1-aderumier@odiso.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.016 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DMARC_MISSING 0.1 Missing DMARC policy HEADER_FROM_DIFFERENT_DOMAINS 0.25 From and EnvelopeFrom 2nd level mail domains are different KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment KAM_LAZY_DOMAIN_SECURITY 1 Sending domain does not have any anti-forgery methods SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_NONE 0.001 SPF: sender does not publish an SPF Record T_SCC_BODY_TEXT_LINE -0.01 - X-Mailman-Approved-At: Mon, 22 May 2023 13:02:14 +0200 Subject: [pve-devel] [PATCH v3 qemu-server 2/7] cpumodel: add cpu models with flags X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 May 2023 10:26:13 -0000 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 --- 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