[libvirt PATCH 00/28] Synchronize x86 cpu features from qemu

libvirt is missing support for some x86 cpu features supported by qemu. This series adds the missing cpu features to libvirt's feature map and adds a script to ease the detection of new features in the future. Support for amx-int8, amx-tile, and amx-bf16 is deliberately not included, as they were already proposed on the list[1]. [1] https://listman.redhat.com/archives/libvir-list/2022-September/234292.html Tim Wiederhake (28): cpu-data.py: Allow for more than child in feature nodes cpu_x86: Ignore alias names cpu: make x86 feature alias names machine readable cpu_map: Add script to sync from QEMU i386 cpu features cpu_map: Rename sync_qemu_i386.py cpu_map: Add missing x86 feature alias names cpu_map: Add missing x86 feature "sgx" cpu_map: Add missing x86 feature "sgxlc" cpu_map: Add missing x86 feature "sgx-exinfo" cpu_map: Add missing x86 feature "sgx1" cpu_map: Add missing x86 feature "sgx2" cpu_map: Add missing x86 feature "sgx-debug" cpu_map: Add missing x86 feature "sgx-mode64" cpu_map: Add missing x86 feature "sgx-provisionkey" cpu_map: Add missing x86 feature "sgx-tokenkey" cpu_map: Add missing x86 feature "sgx-kss" cpu_map: Add missing x86 feature "bus-lock-detect" cpu_map: Add missing x86 feature "pks" cpu_map: Add missing x86 feature "avx512-vp2intersect" cpu_map: Add missing x86 feature "avx512-fp16" cpu_map: Add missing x86 feature "serialize" cpu_map: Add missing x86 feature "tsx-ldtrk" cpu_map: Add missing x86 feature "arch-lbr" cpu_map: Add missing x86 feature "xfd" cpu_map: Add missing x86 feature "intel-pt-lip" cpu_map: Add missing x86 feature "avic" cpu_map: Add missing x86 feature "v-vmsave-vmload" cpu_map: Add missing x86 feature "vgif" src/cpu/cpu_x86.c | 10 +- src/cpu_map/sync_qemu_features_i386.py | 278 ++++++++++++++++++ ..._qemu_i386.py => sync_qemu_models_i386.py} | 0 src/cpu_map/x86_features.xml | 133 +++++++-- tests/cputestdata/cpu-data.py | 11 +- .../x86_64-cpuid-Atom-P5362-disabled.xml | 1 + .../x86_64-cpuid-Atom-P5362-guest.xml | 1 + .../x86_64-cpuid-Atom-P5362-host.xml | 1 + .../x86_64-cpuid-Core-i7-7600U-disabled.xml | 2 +- .../x86_64-cpuid-Core-i7-7600U-guest.xml | 1 + .../x86_64-cpuid-Core-i7-7600U-host.xml | 1 + .../x86_64-cpuid-Core-i7-7700-disabled.xml | 2 +- .../x86_64-cpuid-Core-i7-7700-guest.xml | 1 + .../x86_64-cpuid-Core-i7-7700-host.xml | 1 + .../x86_64-cpuid-Core-i7-8550U-disabled.xml | 2 +- .../x86_64-cpuid-Core-i7-8550U-guest.xml | 1 + .../x86_64-cpuid-Core-i7-8550U-host.xml | 1 + .../x86_64-cpuid-Core-i7-8700-disabled.xml | 2 +- .../x86_64-cpuid-Core-i7-8700-guest.xml | 2 + .../x86_64-cpuid-Core-i7-8700-host.xml | 2 + ...86_64-cpuid-EPYC-7502-32-Core-disabled.xml | 2 +- .../x86_64-cpuid-EPYC-7502-32-Core-guest.xml | 3 + .../x86_64-cpuid-EPYC-7502-32-Core-host.xml | 3 + ...86_64-cpuid-EPYC-7601-32-Core-disabled.xml | 2 +- .../x86_64-cpuid-EPYC-7601-32-Core-guest.xml | 3 + .../x86_64-cpuid-EPYC-7601-32-Core-host.xml | 3 + ...-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml | 2 +- ..._64-cpuid-EPYC-7601-32-Core-ibpb-guest.xml | 3 + ...6_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml | 3 + ...-cpuid-Hygon-C86-7185-32-core-disabled.xml | 2 +- ..._64-cpuid-Hygon-C86-7185-32-core-guest.xml | 3 + ...6_64-cpuid-Hygon-C86-7185-32-core-host.xml | 3 + .../x86_64-cpuid-Ice-Lake-Server-disabled.xml | 2 +- .../x86_64-cpuid-Ice-Lake-Server-guest.xml | 2 + .../x86_64-cpuid-Ice-Lake-Server-host.xml | 2 + ...puid-Ryzen-7-1800X-Eight-Core-disabled.xml | 2 +- ...4-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml | 3 + ...64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml | 3 + ...4-cpuid-Ryzen-9-3900X-12-Core-disabled.xml | 2 +- ...6_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml | 3 + ...86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml | 3 + .../x86_64-cpuid-Xeon-E3-1225-v5-disabled.xml | 2 +- .../x86_64-cpuid-Xeon-E3-1225-v5-guest.xml | 1 + .../x86_64-cpuid-Xeon-E3-1225-v5-host.xml | 1 + .../x86_64-cpuid-Xeon-E3-1245-v5-disabled.xml | 2 +- .../x86_64-cpuid-Xeon-E3-1245-v5-guest.xml | 1 + .../x86_64-cpuid-Xeon-E3-1245-v5-host.xml | 1 + .../domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 1 + .../domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 1 + .../domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 2 + .../domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 2 + .../domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 2 + 52 files changed, 487 insertions(+), 36 deletions(-) create mode 100755 src/cpu_map/sync_qemu_features_i386.py rename src/cpu_map/{sync_qemu_i386.py => sync_qemu_models_i386.py} (100%) -- 2.36.1

cpu-data.py assumes that all "feature" nodes have exactly one child. This assumption will no longer be true when the cpumap includes alias- names for features. Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- tests/cputestdata/cpu-data.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/tests/cputestdata/cpu-data.py b/tests/cputestdata/cpu-data.py index 0200db7a78..498e07b2f7 100755 --- a/tests/cputestdata/cpu-data.py +++ b/tests/cputestdata/cpu-data.py @@ -445,12 +445,15 @@ def parseMap(): cpuMap = dict() for f in xml.etree.ElementTree.parse(path).getroot().iter("feature"): - if f[0].tag not in ("cpuid", "msr"): + data = f.find("cpuid") + if data is None: + data = f.find("msr") + if data is None: continue - feature = {"type": f[0].tag} - for reg in _KEYS[f[0].tag] + _REGS[f[0].tag]: - feature[reg] = int(f[0].attrib.get(reg, "0"), 0) + feature = {"type": data.tag} + for reg in _KEYS[data.tag] + _REGS[data.tag]: + feature[reg] = int(data.attrib.get(reg, "0"), 0) cpuMap[f.attrib["name"]] = feature return cpuMap -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:01 +0200, Tim Wiederhake wrote:
cpu-data.py assumes that all "feature" nodes have exactly one child. This assumption will no longer be true when the cpumap includes alias- names for features.
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- tests/cputestdata/cpu-data.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-)
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

A later patch will add alias names to the feature map. Ignore them for now. Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu/cpu_x86.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c index 4d2379803c..d2560de497 100644 --- a/src/cpu/cpu_x86.c +++ b/src/cpu/cpu_x86.c @@ -1089,7 +1089,7 @@ static int x86ParseDataItemList(virCPUx86Data *cpudata, xmlNodePtr node) { - size_t i; + size_t i = 0; if (xmlChildElementCount(node) <= 0) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("no x86 CPU data found")); @@ -1097,9 +1097,14 @@ x86ParseDataItemList(virCPUx86Data *cpudata, } node = xmlFirstElementChild(node); - for (i = 0; node; ++i) { + while (node) { virCPUx86DataItem item; + if (virXMLNodeNameEqual(node, "alias")) { + node = xmlNextElementSibling(node); + continue; + } + if (virXMLNodeNameEqual(node, "cpuid")) { if (x86ParseCPUID(node, &item) < 0) { virReportError(VIR_ERR_INTERNAL_ERROR, @@ -1116,6 +1121,7 @@ x86ParseDataItemList(virCPUx86Data *cpudata, if (virCPUx86DataAddItem(cpudata, &item) < 0) return -1; + ++i; node = xmlNextElementSibling(node); } -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:02 +0200, Tim Wiederhake wrote:
A later patch will add alias names to the feature map. Ignore them for now.
I'm not sure about the "for now" part here. Do you think we can do something clever with them while still not accepting them in domain XML (accepting aliases in the XML would just make such XMLs unnecessarily incompatible with older libvirt releases)?
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu/cpu_x86.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 55 +++++++++++++++++++++++++----------- 1 file changed, 38 insertions(+), 17 deletions(-) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index 4cf3ff0804..90d0f43fc6 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -98,10 +98,12 @@ </feature> <!-- standard features, ECX --> - <feature name='pni'> <!-- sse3 --> + <feature name='pni'> + <alias name='sse3'/> <cpuid eax_in='0x01' ecx='0x00000001'/> </feature> - <feature name='pclmuldq'> <!-- pclmulqdq --> + <feature name='pclmuldq'> + <alias name='pclmulqdq'/> <cpuid eax_in='0x01' ecx='0x00000002'/> </feature> <feature name='dtes64'> @@ -110,7 +112,8 @@ <feature name='monitor'> <cpuid eax_in='0x01' ecx='0x00000008'/> </feature> - <feature name='ds_cpl'> <!-- ds-cpl --> + <feature name='ds_cpl'> + <alias name='ds-cpl'/> <cpuid eax_in='0x01' ecx='0x00000010'/> </feature> <feature name='vmx'> @@ -149,10 +152,14 @@ <feature name='dca'> <cpuid eax_in='0x01' ecx='0x00040000'/> </feature> - <feature name='sse4.1'> <!-- sse4-1, sse4_1 --> + <feature name='sse4.1'> + <alias name='sse4-1'/> + <alias name='sse4_1'/> <cpuid eax_in='0x01' ecx='0x00080000'/> </feature> - <feature name='sse4.2'> <!-- sse4-2, sse4_2 --> + <feature name='sse4.2'> + <alias name='sse4-2'/> + <alias name='sse4_2'/> <cpuid eax_in='0x01' ecx='0x00100000'/> </feature> <feature name='x2apic'> @@ -198,7 +205,8 @@ <feature name='fsgsbase'> <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000001'/> </feature> - <feature name='tsc_adjust'> <!-- tsc-adjust --> + <feature name='tsc_adjust'> + <alias name='tsc-adjust'/> <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000002'/> </feature> <feature name='bmi1'> @@ -225,7 +233,8 @@ <feature name='rtm'> <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000800'/> </feature> - <feature name='cmt'> <!-- cqm --> + <feature name='cmt'> + <alias name='cqm'/> <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00001000'/> </feature> <feature name='mpx'> @@ -341,7 +350,8 @@ <feature name='fsrm'> <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000010'/> </feature> - <feature name='md-clear'> <!-- md_clear --> + <feature name='md-clear'> + <alias name='md_clear'/> <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000400'/> </feature> <feature name='pconfig'> @@ -353,7 +363,9 @@ <feature name='stibp'> <cpuid eax_in='0x07' ecx_in='0x00' edx='0x08000000'/> </feature> - <feature name='arch-capabilities'> <!-- arch_capabilities, arch-facilities --> + <feature name='arch-capabilities'> + <alias name='arch_capabilities'/> + <alias name='arch-facilities'/> <cpuid eax_in='0x07' ecx_in='0x00' edx='0x20000000'/> </feature> <feature name='core-capability'> @@ -396,13 +408,16 @@ <feature name='syscall'> <cpuid eax_in='0x80000001' edx='0x00000800'/> </feature> - <feature name='nx'> <!-- xd --> + <feature name='nx'> + <alias name='xd'/> <cpuid eax_in='0x80000001' edx='0x00100000'/> </feature> <feature name='mmxext'> <cpuid eax_in='0x80000001' edx='0x00400000'/> </feature> - <feature name='fxsr_opt'> <!-- ffxsr, fxsr-opt --> + <feature name='fxsr_opt'> + <alias name='ffxsr'/> + <alias name='fxsr-opt'/> <cpuid eax_in='0x80000001' edx='0x02000000'/> </feature> <feature name='pdpe1gb'> @@ -411,7 +426,8 @@ <feature name='rdtscp'> <cpuid eax_in='0x80000001' edx='0x08000000'/> </feature> - <feature name='lm'> <!-- i64 --> + <feature name='lm'> + <alias name='i64'/> <cpuid eax_in='0x80000001' edx='0x20000000'/> </feature> <feature name='3dnowext'> @@ -422,10 +438,12 @@ </feature> <!-- extended features, ECX --> - <feature name='lahf_lm'> <!-- lahf-lm --> + <feature name='lahf_lm'> + <alias name='lahf-lm'/> <cpuid eax_in='0x80000001' ecx='0x00000001'/> </feature> - <feature name='cmp_legacy'> <!-- cmp-legacy --> + <feature name='cmp_legacy'> + <alias name='cmp-legacy'/> <cpuid eax_in='0x80000001' ecx='0x00000002'/> </feature> <feature name='svm'> @@ -476,7 +494,8 @@ <feature name='cvt16'> <cpuid eax_in='0x80000001' ecx='0x00040000'/> </feature> - <feature name='nodeid_msr'> <!-- nodeid-msr --> + <feature name='nodeid_msr'> + <alias name='nodeid-msr'/> <cpuid eax_in='0x80000001' ecx='0x00080000'/> </feature> <feature name='tbm'> @@ -485,10 +504,12 @@ <feature name='topoext'> <cpuid eax_in='0x80000001' ecx='0x00400000'/> </feature> - <feature name='perfctr_core'> <!-- perfctr-core --> + <feature name='perfctr_core'> + <alias name='perfctr-core'/> <cpuid eax_in='0x80000001' ecx='0x00800000'/> </feature> - <feature name='perfctr_nb'> <!-- perfctr-nb --> + <feature name='perfctr_nb'> + <alias name='perfctr-nb'/> <cpuid eax_in='0x80000001' ecx='0x01000000'/> </feature> -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:03 +0200, Tim Wiederhake wrote:
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 55 +++++++++++++++++++++++++----------- 1 file changed, 38 insertions(+), 17 deletions(-)
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

This script is intended to help in synchronizing i386 QEMU cpu feature definitions with libvirt. QEMU's attribute list for the "max-x86_64-cpu" contains non-cpu-feature items and needs to be filtered before being useful. Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/sync_qemu_features_i386.py | 278 +++++++++++++++++++++++++ 1 file changed, 278 insertions(+) create mode 100755 src/cpu_map/sync_qemu_features_i386.py diff --git a/src/cpu_map/sync_qemu_features_i386.py b/src/cpu_map/sync_qemu_features_i386.py new file mode 100755 index 0000000000..fba7d35609 --- /dev/null +++ b/src/cpu_map/sync_qemu_features_i386.py @@ -0,0 +1,278 @@ +#!/usr/bin/env python3 + +import argparse +import json +import subprocess +import xml.etree.ElementTree + + +def ignore_feature(feature): + ignored_features = [ + # VIA/Cyrix/Centaur-defined CPU features + # CPUID level 0xC0000001, word 5 + "ace2", + "ace2-en", + "phe", + "phe-en", + "pmm", + "pmm-en", + "xcrypt", + "xcrypt-en", + "xstore", + "xstore-en", + + # non-features + "check", + "cpuid-0xb", + "enforce", + "fill-mtrr-mask", + "full-cpuid-auto-level", + "full-width-write", + "host-cache-info", + "host-phys-bits", + "hotpluggable", + "hotplugged", + "hv-apicv", + "hv-avic", + "hv-crash", + "hv-emsr-bitmap", + "hv-enforce-cpuid", + "hv-evmcs", + "hv-frequencies", + "hv-ipi", + "hv-passthrough", + "hv-reenlightenment", + "hv-relaxed", + "hv-reset", + "hv-runtime", + "hv-stimer", + "hv-stimer-direct", + "hv-syndbg", + "hv-synic", + "hv-time", + "hv-tlbflush", + "hv-tlbflush-direct", + "hv-tlbflush-ext", + "hv-vapic", + "hv-vpindex", + "hv-xmm-input", + "kvm", + "kvm-asyncpf", + "kvm-asyncpf-int", + "kvm-hint-dedicated", + "kvm-mmu", + "kvm-msi-ext-dest-id", + "kvm-no-smi-migration", + "kvm-nopiodelay", + "kvm-poll-control", + "kvm-pv-enforce-cpuid", + "kvm-pv-eoi", + "kvm-pv-ipi", + "kvm-pv-sched-yield", + "kvm-pv-tlb-flush", + "kvm-pv-unhalt", + "kvm-steal-time", + "kvm_asyncpf", + "kvm_asyncpf_int", + "kvm_mmu", + "kvm_nopiodelay", + "kvm_poll_control", + "kvm_pv_eoi", + "kvm_pv_unhalt", + "kvm_steal_time", + "kvmclock", + "kvmclock-stable-bit", + "l3-cache", + "legacy-cache", + "lmce", + "migratable", + "pmu", + "realized", + "start-powered-off", + "tcg-cpuid", + "vmware-cpuid-freq", + "vmx-activity-hlt", + "vmx-activity-shutdown", + "vmx-activity-wait-sipi", + "vmx-apicv-register", + "vmx-apicv-vid", + "vmx-apicv-x2apic", + "vmx-apicv-xapic", + "vmx-cr3-load-noexit", + "vmx-cr3-store-noexit", + "vmx-cr8-load-exit", + "vmx-cr8-store-exit", + "vmx-desc-exit", + "vmx-encls-exit", + "vmx-entry-ia32e-mode", + "vmx-entry-load-bndcfgs", + "vmx-entry-load-efer", + "vmx-entry-load-pat", + "vmx-entry-load-perf-global-ctrl", + "vmx-entry-load-pkrs", + "vmx-entry-load-rtit-ctl", + "vmx-entry-noload-debugctl", + "vmx-ept", + "vmx-ept-1gb", + "vmx-ept-2mb", + "vmx-ept-advanced-exitinfo", + "vmx-ept-execonly", + "vmx-eptad", + "vmx-eptp-switching", + "vmx-exit-ack-intr", + "vmx-exit-clear-bndcfgs", + "vmx-exit-clear-rtit-ctl", + "vmx-exit-load-efer", + "vmx-exit-load-pat", + "vmx-exit-load-perf-global-ctrl", + "vmx-exit-load-pkrs", + "vmx-exit-nosave-debugctl", + "vmx-exit-save-efer", + "vmx-exit-save-pat", + "vmx-exit-save-preemption-timer", + "vmx-flexpriority", + "vmx-hlt-exit", + "vmx-ins-outs", + "vmx-intr-exit", + "vmx-invept", + "vmx-invept-all-context", + "vmx-invept-single-context", + "vmx-invept-single-context-noglobals", + "vmx-invlpg-exit", + "vmx-invpcid-exit", + "vmx-invvpid", + "vmx-invvpid-all-context", + "vmx-invvpid-single-addr", + "vmx-io-bitmap", + "vmx-io-exit", + "vmx-monitor-exit", + "vmx-movdr-exit", + "vmx-msr-bitmap", + "vmx-mtf", + "vmx-mwait-exit", + "vmx-nmi-exit", + "vmx-page-walk-4", + "vmx-page-walk-5", + "vmx-pause-exit", + "vmx-ple", + "vmx-pml", + "vmx-posted-intr", + "vmx-preemption-timer", + "vmx-rdpmc-exit", + "vmx-rdrand-exit", + "vmx-rdseed-exit", + "vmx-rdtsc-exit", + "vmx-rdtscp-exit", + "vmx-secondary-ctls", + "vmx-shadow-vmcs", + "vmx-store-lma", + "vmx-true-ctls", + "vmx-tsc-offset", + "vmx-tsc-scaling", + "vmx-unrestricted-guest", + "vmx-vintr-pending", + "vmx-vmfunc", + "vmx-vmwrite-vmexit-fields", + "vmx-vnmi", + "vmx-vnmi-pending", + "vmx-vpid", + "vmx-wbinvd-exit", + "vmx-xsaves", + "vmx-zero-len-inject", + ] + + if feature["type"] != "bool": + return True + + name = feature["name"] + + if name.startswith("x-"): + return True + + if name in ignored_features: + return True + + return False + + +def get_qemu_feature_list(path_to_qemu): + cmd = [ + path_to_qemu, + "-machine", "accel=kvm", + "-cpu", "host", + "-nodefaults", + "-nographic", + "-qmp", + "stdio" + ] + + request = """ + { + "execute": "qmp_capabilities" + } + { + "execute": "qom-list-properties", + "arguments": { + "typename": "max-x86_64-cpu" + }, + "id": "qom-list-properties" + } + { + "execute": "quit" + } + """ + + decoder = json.JSONDecoder() + output = subprocess.check_output(cmd, input=request, text=True) + while output: + obj, idx = decoder.raw_decode(output) + output = output[idx:].strip() + if obj.get("id") != "qom-list-properties": + continue + for feature in obj["return"]: + if ignore_feature(feature): + continue + yield feature["name"] + + +def get_libvirt_feature_list(path_to_featuresfile): + dom = xml.etree.ElementTree.parse(path_to_featuresfile) + for feature in dom.getroot().iter("feature"): + yield feature.get("name") + for alias in feature: + if alias.tag == "alias": + yield alias.get("name") + + +def main(): + parser = argparse.ArgumentParser( + description="Synchronize x86 cpu features from QEMU i386 target.") + parser.add_argument( + "--qemu", + help="TODO", + default="qemu-kvm", + type=str) + parser.add_argument( + "--features", + help="Path to 'src/cpu_map/x86_features.xml' directory in " + "the libvirt repository", + default="x86_features.xml", + type=str) + + args = parser.parse_args() + + qfeatures = get_qemu_feature_list(args.qemu) + lfeatures = list(get_libvirt_feature_list(args.features)) + missing = [f for f in sorted(qfeatures) if f not in lfeatures] + + if missing: + print("The following features were reported by qemu but are " + "unknown to libvirt:") + for feature in missing: + print(" *", feature) + + return len(missing) != 0 + + +if __name__ == "__main__": + exit(main()) -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:04 +0200, Tim Wiederhake wrote:
This script is intended to help in synchronizing i386 QEMU cpu feature definitions with libvirt.
QEMU's attribute list for the "max-x86_64-cpu" contains non-cpu-feature items and needs to be filtered before being useful.
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/sync_qemu_features_i386.py | 278 +++++++++++++++++++++++++ 1 file changed, 278 insertions(+) create mode 100755 src/cpu_map/sync_qemu_features_i386.py
diff --git a/src/cpu_map/sync_qemu_features_i386.py b/src/cpu_map/sync_qemu_features_i386.py new file mode 100755 index 0000000000..fba7d35609 --- /dev/null +++ b/src/cpu_map/sync_qemu_features_i386.py @@ -0,0 +1,278 @@ ... +def main(): + parser = argparse.ArgumentParser( + description="Synchronize x86 cpu features from QEMU i386 target.") + parser.add_argument( + "--qemu", + help="TODO",
Looks like there's some more work to do here :-) Jirka

This makes the naming more consistent beween the two scripts synching the feature list and the model list. Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/{sync_qemu_i386.py => sync_qemu_models_i386.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/cpu_map/{sync_qemu_i386.py => sync_qemu_models_i386.py} (100%) diff --git a/src/cpu_map/sync_qemu_i386.py b/src/cpu_map/sync_qemu_models_i386.py similarity index 100% rename from src/cpu_map/sync_qemu_i386.py rename to src/cpu_map/sync_qemu_models_i386.py -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:05 +0200, Tim Wiederhake wrote:
This makes the naming more consistent beween the two scripts synching the feature list and the model list.
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/{sync_qemu_i386.py => sync_qemu_models_i386.py} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename src/cpu_map/{sync_qemu_i386.py => sync_qemu_models_i386.py} (100%)
diff --git a/src/cpu_map/sync_qemu_i386.py b/src/cpu_map/sync_qemu_models_i386.py similarity index 100% rename from src/cpu_map/sync_qemu_i386.py rename to src/cpu_map/sync_qemu_models_i386.py
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index 90d0f43fc6..5f17255a56 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -555,15 +555,19 @@ <cpuid eax_in='0x8000000a' edx='0x00000002'/> </feature> <feature name='svm-lock'> + <alias name='svm_lock'/> <cpuid eax_in='0x8000000a' edx='0x00000004'/> </feature> <feature name='nrip-save'> + <alias name='nrip_save'/> <cpuid eax_in='0x8000000a' edx='0x00000008'/> </feature> <feature name='tsc-scale'> + <alias name='tsc_scale'/> <cpuid eax_in='0x8000000a' edx='0x00000010'/> </feature> <feature name='vmcb-clean'> + <alias name='vmcb_clean'/> <cpuid eax_in='0x8000000a' edx='0x00000020'/> </feature> <feature name='flushbyasid'> @@ -573,6 +577,7 @@ <cpuid eax_in='0x8000000a' edx='0x00000080'/> </feature> <feature name='pause-filter'> + <alias name='pause_filter'/> <cpuid eax_in='0x8000000a' edx='0x00000400'/> </feature> <feature name='pfthreshold'> -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:06 +0200, Tim Wiederhake wrote:
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 5 +++++ 1 file changed, 5 insertions(+)
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ tests/cputestdata/x86_64-cpuid-Core-i7-7600U-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Core-i7-7600U-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Core-i7-7600U-host.xml | 1 + tests/cputestdata/x86_64-cpuid-Core-i7-7700-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Core-i7-7700-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Core-i7-7700-host.xml | 1 + tests/cputestdata/x86_64-cpuid-Core-i7-8550U-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Core-i7-8550U-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Core-i7-8550U-host.xml | 1 + tests/cputestdata/x86_64-cpuid-Core-i7-8700-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Core-i7-8700-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml | 1 + tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-host.xml | 1 + tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml | 1 + tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-host.xml | 1 + 22 files changed, 24 insertions(+), 7 deletions(-) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index 5f17255a56..5bf96902d5 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -209,6 +209,9 @@ <alias name='tsc-adjust'/> <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000002'/> </feature> + <feature name='sgx'> + <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000004'/> + </feature> <feature name='bmi1'> <cpuid eax_in='0x07' ecx_in='0x00' ebx='0x00000008'/> </feature> diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-disabled.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-disabled.xml index 0a567bbfae..2b9aef78a2 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-disabled.xml @@ -1,6 +1,6 @@ <!-- Features disabled by QEMU --> <cpudata arch='x86'> <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1dc' edx='0xb0600000'/> - <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000000' ecx='0x00000000' edx='0x08000000'/> + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000004' ecx='0x00000000' edx='0x08000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-guest.xml index 70a0fc3286..5cf7778d55 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-guest.xml @@ -18,6 +18,7 @@ <feature policy='require' name='pdcm'/> <feature policy='require' name='osxsave'/> <feature policy='require' name='tsc_adjust'/> + <feature policy='require' name='sgx'/> <feature policy='require' name='clflushopt'/> <feature policy='require' name='intel-pt'/> <feature policy='require' name='stibp'/> diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-host.xml index edfb8ec421..fa51fcdd0c 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7600U-host.xml @@ -20,6 +20,7 @@ <feature name='pdcm'/> <feature name='osxsave'/> <feature name='tsc_adjust'/> + <feature name='sgx'/> <feature name='clflushopt'/> <feature name='intel-pt'/> <feature name='stibp'/> diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-disabled.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-disabled.xml index ce51903e53..9e83f4c534 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-disabled.xml @@ -1,7 +1,7 @@ <!-- Features disabled by QEMU --> <cpudata arch='x86'> <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1fc' edx='0xb0600000'/> - <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000000' ecx='0x00000000' edx='0x00000000'/> + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000004' ecx='0x00000000' edx='0x00000000'/> <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000008' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-guest.xml index 5777a0bfba..60bace9ed6 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-guest.xml @@ -18,6 +18,7 @@ <feature policy='require' name='pdcm'/> <feature policy='require' name='osxsave'/> <feature policy='require' name='tsc_adjust'/> + <feature policy='require' name='sgx'/> <feature policy='require' name='clflushopt'/> <feature policy='require' name='intel-pt'/> <feature policy='require' name='xsaves'/> diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-host.xml index 08255621ec..6b9323842a 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-7700-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-7700-host.xml @@ -20,6 +20,7 @@ <feature name='pdcm'/> <feature name='osxsave'/> <feature name='tsc_adjust'/> + <feature name='sgx'/> <feature name='clflushopt'/> <feature name='intel-pt'/> <feature name='xsaves'/> diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-disabled.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-disabled.xml index 436ded22eb..910f466b98 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-disabled.xml @@ -1,6 +1,6 @@ <!-- Features disabled by QEMU --> <cpudata arch='x86'> <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c19c' edx='0xb0600000'/> - <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000000' ecx='0x00000000' edx='0x00000000'/> + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000004' ecx='0x00000000' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-guest.xml index ed06515e99..1d93d13aaa 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-guest.xml @@ -17,6 +17,7 @@ <feature policy='require' name='pdcm'/> <feature policy='require' name='osxsave'/> <feature policy='require' name='tsc_adjust'/> + <feature policy='require' name='sgx'/> <feature policy='require' name='clflushopt'/> <feature policy='require' name='intel-pt'/> <feature policy='require' name='md-clear'/> diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-host.xml index 1e3f1d1719..8e32872bf2 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-host.xml @@ -19,6 +19,7 @@ <feature name='pdcm'/> <feature name='osxsave'/> <feature name='tsc_adjust'/> + <feature name='sgx'/> <feature name='clflushopt'/> <feature name='intel-pt'/> <feature name='md-clear'/> diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-disabled.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-disabled.xml index 6a7de576f1..3a2308155c 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-disabled.xml @@ -1,6 +1,6 @@ <!-- Features disabled by QEMU --> <cpudata arch='x86'> <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1fc' edx='0xb0600000'/> - <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000000' ecx='0x00000000' edx='0x08000000'/> + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000004' ecx='0x00000000' edx='0x08000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-guest.xml index 70a0fc3286..5cf7778d55 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-guest.xml @@ -18,6 +18,7 @@ <feature policy='require' name='pdcm'/> <feature policy='require' name='osxsave'/> <feature policy='require' name='tsc_adjust'/> + <feature policy='require' name='sgx'/> <feature policy='require' name='clflushopt'/> <feature policy='require' name='intel-pt'/> <feature policy='require' name='stibp'/> diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml index 4174d79ce7..00fa402474 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml @@ -20,6 +20,7 @@ <feature name='pdcm'/> <feature name='osxsave'/> <feature name='tsc_adjust'/> + <feature name='sgx'/> <feature name='clflushopt'/> <feature name='intel-pt'/> <feature name='stibp'/> diff --git a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-disabled.xml b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-disabled.xml index 33bd1013f0..939506ef89 100644 --- a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-disabled.xml @@ -1,7 +1,7 @@ <!-- Features disabled by QEMU --> <cpudata arch='x86'> <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0804c1fc' edx='0xb0600000'/> - <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02001000' ecx='0x00400010' edx='0x00000010'/> + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02001004' ecx='0x00400010' edx='0x00000010'/> <cpuid eax_in='0x0000000f' ecx_in='0x01' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000006'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-guest.xml b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-guest.xml index 7fcd20d26d..b816310368 100644 --- a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-guest.xml @@ -19,6 +19,7 @@ <feature policy='require' name='dca'/> <feature policy='require' name='osxsave'/> <feature policy='require' name='tsc_adjust'/> + <feature policy='require' name='sgx'/> <feature policy='require' name='cmt'/> <feature policy='require' name='avx512ifma'/> <feature policy='require' name='intel-pt'/> diff --git a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-host.xml b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-host.xml index 2ce74da604..ce81ad0ec2 100644 --- a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-host.xml @@ -21,6 +21,7 @@ <feature name='dca'/> <feature name='osxsave'/> <feature name='tsc_adjust'/> + <feature name='sgx'/> <feature name='cmt'/> <feature name='avx512ifma'/> <feature name='intel-pt'/> diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-disabled.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-disabled.xml index ce51903e53..9e83f4c534 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-disabled.xml @@ -1,7 +1,7 @@ <!-- Features disabled by QEMU --> <cpudata arch='x86'> <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1fc' edx='0xb0600000'/> - <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000000' ecx='0x00000000' edx='0x00000000'/> + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000004' ecx='0x00000000' edx='0x00000000'/> <cpuid eax_in='0x0000000d' ecx_in='0x01' eax='0x00000008' ebx='0x00000000' ecx='0x00000000' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-guest.xml index 867970d2c7..7555bc075e 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-guest.xml @@ -18,6 +18,7 @@ <feature policy='require' name='pdcm'/> <feature policy='require' name='osxsave'/> <feature policy='require' name='tsc_adjust'/> + <feature policy='require' name='sgx'/> <feature policy='require' name='clflushopt'/> <feature policy='require' name='intel-pt'/> <feature policy='require' name='md-clear'/> diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml index d4a2a15e60..1d257a0828 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml @@ -20,6 +20,7 @@ <feature name='pdcm'/> <feature name='osxsave'/> <feature name='tsc_adjust'/> + <feature name='sgx'/> <feature name='clflushopt'/> <feature name='intel-pt'/> <feature name='md-clear'/> diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-disabled.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-disabled.xml index fa9571c29d..536354e641 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-disabled.xml @@ -1,6 +1,6 @@ <!-- Features disabled by QEMU --> <cpudata arch='x86'> <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1dc' edx='0xb0600000'/> - <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000000' ecx='0x00000000' edx='0x00000000'/> + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000004' ecx='0x00000000' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-guest.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-guest.xml index 5777a0bfba..60bace9ed6 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-guest.xml @@ -18,6 +18,7 @@ <feature policy='require' name='pdcm'/> <feature policy='require' name='osxsave'/> <feature policy='require' name='tsc_adjust'/> + <feature policy='require' name='sgx'/> <feature policy='require' name='clflushopt'/> <feature policy='require' name='intel-pt'/> <feature policy='require' name='xsaves'/> diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-host.xml b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-host.xml index c52e8db235..d2f808f9a6 100644 --- a/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-host.xml @@ -20,6 +20,7 @@ <feature name='pdcm'/> <feature name='osxsave'/> <feature name='tsc_adjust'/> + <feature name='sgx'/> <feature name='clflushopt'/> <feature name='intel-pt'/> <feature name='xsaves'/> -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:07 +0200, Tim Wiederhake wrote:
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ tests/cputestdata/x86_64-cpuid-Core-i7-7600U-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Core-i7-7600U-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Core-i7-7600U-host.xml | 1 + tests/cputestdata/x86_64-cpuid-Core-i7-7700-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Core-i7-7700-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Core-i7-7700-host.xml | 1 + tests/cputestdata/x86_64-cpuid-Core-i7-8550U-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Core-i7-8550U-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Core-i7-8550U-host.xml | 1 + tests/cputestdata/x86_64-cpuid-Core-i7-8700-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Core-i7-8700-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml | 1 + tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-host.xml | 1 + tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Xeon-E3-1225-v5-host.xml | 1 + tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Xeon-E3-1245-v5-host.xml | 1 + 22 files changed, 24 insertions(+), 7 deletions(-)
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ tests/cputestdata/x86_64-cpuid-Core-i7-8700-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Core-i7-8700-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml | 1 + tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-host.xml | 1 + 7 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index 5bf96902d5..c89bc2d112 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -343,6 +343,9 @@ <feature name='movdir64b'> <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x10000000'/> </feature> + <feature name='sgxlc'> + <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x40000000'/> + </feature> <feature name='avx512-4vnniw'> <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000004'/> diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-disabled.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-disabled.xml index 3a2308155c..bffdae01da 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-disabled.xml @@ -1,6 +1,6 @@ <!-- Features disabled by QEMU --> <cpudata arch='x86'> <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0800c1fc' edx='0xb0600000'/> - <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000004' ecx='0x00000000' edx='0x08000000'/> + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02000004' ecx='0x40000000' edx='0x08000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-guest.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-guest.xml index 5cf7778d55..99874701de 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-guest.xml @@ -21,6 +21,7 @@ <feature policy='require' name='sgx'/> <feature policy='require' name='clflushopt'/> <feature policy='require' name='intel-pt'/> + <feature policy='require' name='sgxlc'/> <feature policy='require' name='stibp'/> <feature policy='require' name='ssbd'/> <feature policy='require' name='xsaves'/> diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml index 00fa402474..8e5cab50bb 100644 --- a/tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml @@ -23,6 +23,7 @@ <feature name='sgx'/> <feature name='clflushopt'/> <feature name='intel-pt'/> + <feature name='sgxlc'/> <feature name='stibp'/> <feature name='ssbd'/> <feature name='xsaves'/> diff --git a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-disabled.xml b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-disabled.xml index 939506ef89..2769427a85 100644 --- a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-disabled.xml @@ -1,7 +1,7 @@ <!-- Features disabled by QEMU --> <cpudata arch='x86'> <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x0804c1fc' edx='0xb0600000'/> - <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02001004' ecx='0x00400010' edx='0x00000010'/> + <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02001004' ecx='0x40400010' edx='0x00000010'/> <cpuid eax_in='0x0000000f' ecx_in='0x01' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000006'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-guest.xml b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-guest.xml index b816310368..13147e354e 100644 --- a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-guest.xml @@ -26,6 +26,7 @@ <feature policy='require' name='sha-ni'/> <feature policy='require' name='ospke'/> <feature policy='require' name='rdpid'/> + <feature policy='require' name='sgxlc'/> <feature policy='require' name='fsrm'/> <feature policy='require' name='stibp'/> <feature policy='require' name='arch-capabilities'/> diff --git a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-host.xml b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-host.xml index ce81ad0ec2..aa2514eb60 100644 --- a/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-host.xml @@ -28,6 +28,7 @@ <feature name='sha-ni'/> <feature name='ospke'/> <feature name='rdpid'/> + <feature name='sgxlc'/> <feature name='fsrm'/> <feature name='stibp'/> <feature name='arch-capabilities'/> -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:08 +0200, Tim Wiederhake wrote:
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ tests/cputestdata/x86_64-cpuid-Core-i7-8700-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Core-i7-8700-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Core-i7-8700-host.xml | 1 + tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Ice-Lake-Server-host.xml | 1 + 7 files changed, 9 insertions(+), 2 deletions(-)
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index c89bc2d112..5b9e61a3d0 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -410,6 +410,11 @@ <cpuid eax_in='0x0f' ecx_in='0x01' edx='0x00000004'/> </feature> + <!-- cpuid level 0x00000012 ecx 0x0 features --> + <feature name='sgx-exinfo'> + <cpuid eax_in='0x12' ecx_in='0x00' ebx='0x00000001'/> + </feature> + <!-- extended features, EDX --> <feature name='syscall'> <cpuid eax_in='0x80000001' edx='0x00000800'/> -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:09 +0200, Tim Wiederhake wrote:
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 5 +++++ 1 file changed, 5 insertions(+)
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index 5b9e61a3d0..aa3d6958bf 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -415,6 +415,10 @@ <cpuid eax_in='0x12' ecx_in='0x00' ebx='0x00000001'/> </feature> + <feature name='sgx1'> + <cpuid eax_in='0x12' ecx_in='0x00' ecx='0x00000001'/> + </feature> + <!-- extended features, EDX --> <feature name='syscall'> <cpuid eax_in='0x80000001' edx='0x00000800'/> -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:10 +0200, Tim Wiederhake wrote:
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index 5b9e61a3d0..aa3d6958bf 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -415,6 +415,10 @@ <cpuid eax_in='0x12' ecx_in='0x00' ebx='0x00000001'/> </feature>
+ <feature name='sgx1'> + <cpuid eax_in='0x12' ecx_in='0x00' ecx='0x00000001'/> + </feature>
QEMU defines this in FEAT_SGX_12_0_EAX (.cpuid.reg = R_EAX) while you have 'ecx' Jirka

Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index aa3d6958bf..f3e53eebc9 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -418,6 +418,9 @@ <feature name='sgx1'> <cpuid eax_in='0x12' ecx_in='0x00' ecx='0x00000001'/> </feature> + <feature name='sgx2'> + <cpuid eax_in='0x12' ecx_in='0x00' ecx='0x00000002'/> + </feature> <!-- extended features, EDX --> <feature name='syscall'> -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:11 +0200, Tim Wiederhake wrote:
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ 1 file changed, 3 insertions(+)
diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index aa3d6958bf..f3e53eebc9 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -418,6 +418,9 @@ <feature name='sgx1'> <cpuid eax_in='0x12' ecx_in='0x00' ecx='0x00000001'/> </feature> + <feature name='sgx2'> + <cpuid eax_in='0x12' ecx_in='0x00' ecx='0x00000002'/> + </feature>
Again, this is in eax in QEMU. Jirka

Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index f3e53eebc9..f18bc634ac 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -422,6 +422,11 @@ <cpuid eax_in='0x12' ecx_in='0x00' ecx='0x00000002'/> </feature> + <!-- cpuid level 0x00000012 ecx 0x1 features --> + <feature name='sgx-debug'> + <cpuid eax_in='0x12' ecx_in='0x01' eax='0x00000002'/> + </feature> + <!-- extended features, EDX --> <feature name='syscall'> <cpuid eax_in='0x80000001' edx='0x00000800'/> -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:12 +0200, Tim Wiederhake wrote:
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 5 +++++ 1 file changed, 5 insertions(+)
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index f18bc634ac..4568c0246b 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -426,6 +426,9 @@ <feature name='sgx-debug'> <cpuid eax_in='0x12' ecx_in='0x01' eax='0x00000002'/> </feature> + <feature name='sgx-mode64'> + <cpuid eax_in='0x12' ecx_in='0x01' eax='0x00000004'/> + </feature> <!-- extended features, EDX --> <feature name='syscall'> -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:13 +0200, Tim Wiederhake wrote:
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ 1 file changed, 3 insertions(+)
I think all these sgx related features in FEAT_SGX_12_1_EAX could be squashed into a single patch as they are not present in any data files. But not a big deal. Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index 4568c0246b..34c28e9135 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -429,6 +429,9 @@ <feature name='sgx-mode64'> <cpuid eax_in='0x12' ecx_in='0x01' eax='0x00000004'/> </feature> + <feature name='sgx-provisionkey'> + <cpuid eax_in='0x12' ecx_in='0x01' eax='0x00000010'/> + </feature> <!-- extended features, EDX --> <feature name='syscall'> -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:14 +0200, Tim Wiederhake wrote:
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ 1 file changed, 3 insertions(+)
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index 34c28e9135..2cbad9cdc7 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -432,6 +432,9 @@ <feature name='sgx-provisionkey'> <cpuid eax_in='0x12' ecx_in='0x01' eax='0x00000010'/> </feature> + <feature name='sgx-tokenkey'> + <cpuid eax_in='0x12' ecx_in='0x01' eax='0x00000020'/> + </feature> <!-- extended features, EDX --> <feature name='syscall'> -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:15 +0200, Tim Wiederhake wrote:
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ 1 file changed, 3 insertions(+)
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index 2cbad9cdc7..e59c134844 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -435,6 +435,9 @@ <feature name='sgx-tokenkey'> <cpuid eax_in='0x12' ecx_in='0x01' eax='0x00000020'/> </feature> + <feature name='sgx-kss'> + <cpuid eax_in='0x12' ecx_in='0x01' eax='0x00000080'/> + </feature> <!-- extended features, EDX --> <feature name='syscall'> -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:16 +0200, Tim Wiederhake wrote:
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ 1 file changed, 3 insertions(+)
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index e59c134844..e5e82e6018 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -334,6 +334,9 @@ <feature name='rdpid'> <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x00400000'/> </feature> + <feature name='bus-lock-detect'> + <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x01000000'/> + </feature> <feature name='cldemote'> <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x02000000'/> </feature> -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:17 +0200, Tim Wiederhake wrote:
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ 1 file changed, 3 insertions(+)
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 1 + 6 files changed, 8 insertions(+) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index e5e82e6018..4228091d1c 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -349,6 +349,9 @@ <feature name='sgxlc'> <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x40000000'/> </feature> + <feature name='pks'> + <cpuid eax_in='0x07' ecx_in='0x00' ecx='0x80000000'/> + </feature> <feature name='avx512-4vnniw'> <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000004'/> diff --git a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml index cc0bfcac2d..a7b5d3047a 100644 --- a/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml @@ -64,6 +64,7 @@ <feature policy='require' name='clwb'/> <feature policy='require' name='pku'/> <feature policy='require' name='la57'/> + <feature policy='require' name='pks'/> <feature policy='require' name='xsaveopt'/> <feature policy='require' name='xgetbv1'/> <feature policy='require' name='mmxext'/> diff --git a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml index 52071fc2c5..6354573c61 100644 --- a/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml @@ -64,6 +64,7 @@ <feature policy='require' name='clwb'/> <feature policy='require' name='pku'/> <feature policy='require' name='la57'/> + <feature policy='require' name='pks'/> <feature policy='require' name='xsaveopt'/> <feature policy='require' name='xgetbv1'/> <feature policy='require' name='mmxext'/> diff --git a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml index 7bebc1f8b2..569cf5e77b 100644 --- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml @@ -64,6 +64,7 @@ <feature policy='require' name='clwb'/> <feature policy='require' name='pku'/> <feature policy='require' name='la57'/> + <feature policy='require' name='pks'/> <feature policy='require' name='xsaveopt'/> <feature policy='require' name='xgetbv1'/> <feature policy='require' name='mmxext'/> diff --git a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml index c6a02b6512..2f0d4000ec 100644 --- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml @@ -65,6 +65,7 @@ <feature policy='require' name='umip'/> <feature policy='require' name='pku'/> <feature policy='require' name='la57'/> + <feature policy='require' name='pks'/> <feature policy='require' name='xsaveopt'/> <feature policy='require' name='xgetbv1'/> <feature policy='require' name='mmxext'/> diff --git a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml index c0b59c0d44..0c37476f02 100644 --- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml @@ -65,6 +65,7 @@ <feature policy='require' name='umip'/> <feature policy='require' name='pku'/> <feature policy='require' name='la57'/> + <feature policy='require' name='pks'/> <feature policy='require' name='xsaveopt'/> <feature policy='require' name='xgetbv1'/> <feature policy='require' name='mmxext'/> -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:18 +0200, Tim Wiederhake wrote:
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ tests/domaincapsdata/qemu_6.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.1.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 1 + 6 files changed, 8 insertions(+)
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index 4228091d1c..8557fe8825 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -362,6 +362,9 @@ <feature name='fsrm'> <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000010'/> </feature> + <feature name='avx512-vp2intersect'> + <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000100'/> + </feature> <feature name='md-clear'> <alias name='md_clear'/> <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000400'/> -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:19 +0200, Tim Wiederhake wrote:
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ 1 file changed, 3 insertions(+)
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index 8557fe8825..5d90075da7 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -372,6 +372,9 @@ <feature name='pconfig'> <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00040000'/> </feature> + <feature name='avx512-fp16'> + <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00800000'/> + </feature> <feature name='spec-ctrl'> <cpuid eax_in='0x07' ecx_in='0x00' edx='0x04000000'/> </feature> -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:20 +0200, Tim Wiederhake wrote:
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ 1 file changed, 3 insertions(+)
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index 5d90075da7..67c9cdc3fe 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -369,6 +369,9 @@ <alias name='md_clear'/> <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00000400'/> </feature> + <feature name='serialize'> + <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00004000'/> + </feature> <feature name='pconfig'> <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00040000'/> </feature> -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:21 +0200, Tim Wiederhake wrote:
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ 1 file changed, 3 insertions(+)
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index 67c9cdc3fe..a8fafdd592 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -372,6 +372,9 @@ <feature name='serialize'> <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00004000'/> </feature> + <feature name='tsx-ldtrk'> + <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00010000'/> + </feature> <feature name='pconfig'> <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00040000'/> </feature> -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:22 +0200, Tim Wiederhake wrote:
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ 1 file changed, 3 insertions(+)
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index a8fafdd592..36641ca118 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -378,6 +378,9 @@ <feature name='pconfig'> <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00040000'/> </feature> + <feature name='arch-lbr'> + <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00080000'/> + </feature> <feature name='avx512-fp16'> <cpuid eax_in='0x07' ecx_in='0x00' edx='0x00800000'/> </feature> -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:23 +0200, Tim Wiederhake wrote:
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ 1 file changed, 3 insertions(+)
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index 36641ca118..c05c4ac3a9 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -422,6 +422,9 @@ <feature name='xsaves' migratable='no'> <cpuid eax_in='0x0d' ecx_in='0x01' eax='0x00000008'/> </feature> + <feature name='xfd'> + <cpuid eax_in='0x0d' ecx_in='0x01' eax='0x00000010'/> + </feature> <!-- cpuid level 0x0000000f:1 (edx) --> <feature name='mbm_total'> -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:24 +0200, Tim Wiederhake wrote:
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ 1 file changed, 3 insertions(+)
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 5 +++++ tests/cputestdata/x86_64-cpuid-Atom-P5362-disabled.xml | 1 + tests/cputestdata/x86_64-cpuid-Atom-P5362-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Atom-P5362-host.xml | 1 + 4 files changed, 8 insertions(+) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index c05c4ac3a9..978e9d86ed 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -463,6 +463,11 @@ <cpuid eax_in='0x12' ecx_in='0x01' eax='0x00000080'/> </feature> + <!-- cpuid level 0x00000014 ecx 0x0 features --> + <feature name='intel-pt-lip'> + <cpuid eax_in='0x14' ecx_in='0x00' ecx='0x80000000'/> + </feature> + <!-- extended features, EDX --> <feature name='syscall'> <cpuid eax_in='0x80000001' edx='0x00000800'/> diff --git a/tests/cputestdata/x86_64-cpuid-Atom-P5362-disabled.xml b/tests/cputestdata/x86_64-cpuid-Atom-P5362-disabled.xml index 81ffa7bfd3..dad3c90e6b 100644 --- a/tests/cputestdata/x86_64-cpuid-Atom-P5362-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Atom-P5362-disabled.xml @@ -3,6 +3,7 @@ <cpuid eax_in='0x00000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x080041dc' edx='0xb0600000'/> <cpuid eax_in='0x00000007' ecx_in='0x00' eax='0x00000000' ebx='0x02001000' ecx='0x00000020' edx='0x40000000'/> <cpuid eax_in='0x0000000f' ecx_in='0x01' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000006'/> + <cpuid eax_in='0x00000014' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x80000000' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> <msr index='0xcf' edx='0x00000000' eax='0x00000020'/> <msr index='0x10a' edx='0x00000000' eax='0x00000100'/> diff --git a/tests/cputestdata/x86_64-cpuid-Atom-P5362-guest.xml b/tests/cputestdata/x86_64-cpuid-Atom-P5362-guest.xml index f28e70b9e0..a21d044bd4 100644 --- a/tests/cputestdata/x86_64-cpuid-Atom-P5362-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Atom-P5362-guest.xml @@ -27,6 +27,7 @@ <feature policy='require' name='xsaves'/> <feature policy='require' name='mbm_total'/> <feature policy='require' name='mbm_local'/> + <feature policy='require' name='intel-pt-lip'/> <feature policy='require' name='invtsc'/> <feature policy='require' name='rdctl-no'/> <feature policy='require' name='ibrs-all'/> diff --git a/tests/cputestdata/x86_64-cpuid-Atom-P5362-host.xml b/tests/cputestdata/x86_64-cpuid-Atom-P5362-host.xml index c59ebfa799..9712ecaf63 100644 --- a/tests/cputestdata/x86_64-cpuid-Atom-P5362-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Atom-P5362-host.xml @@ -56,6 +56,7 @@ <feature name='xsaves'/> <feature name='mbm_total'/> <feature name='mbm_local'/> + <feature name='intel-pt-lip'/> <feature name='rdtscp'/> <feature name='3dnowprefetch'/> <feature name='invtsc'/> -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:25 +0200, Tim Wiederhake wrote:
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 5 +++++ tests/cputestdata/x86_64-cpuid-Atom-P5362-disabled.xml | 1 + tests/cputestdata/x86_64-cpuid-Atom-P5362-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Atom-P5362-host.xml | 1 + 4 files changed, 8 insertions(+)
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml | 1 + tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml | 1 + .../x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml | 2 +- .../cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml | 1 + .../x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml | 2 +- .../cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml | 1 + .../x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml | 2 +- .../x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml | 1 + .../cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml | 1 + .../x86_64-cpuid-Ryzen-9-3900X-12-Core-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml | 1 + 19 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index 978e9d86ed..7b64467231 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -647,6 +647,9 @@ <feature name='pfthreshold'> <cpuid eax_in='0x8000000a' edx='0x00001000'/> </feature> + <feature name='avic'> + <cpuid eax_in='0x8000000a' edx='0x00002000'/> + </feature> <feature name='svme-addr-chk'> <cpuid eax_in='0x8000000a' edx='0x10000000'/> </feature> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml index 82b6c1bc1a..bb8fac53b2 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml @@ -6,5 +6,5 @@ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01423408' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00004000' ecx='0x00000000' edx='0x00000000'/> - <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x000014f6'/> + <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x000034f6'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml index 40e7912398..84434311e5 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml @@ -27,6 +27,7 @@ <feature policy='require' name='decodeassists'/> <feature policy='require' name='pause-filter'/> <feature policy='require' name='pfthreshold'/> + <feature policy='require' name='avic'/> <feature policy='require' name='rdctl-no'/> <feature policy='require' name='skip-l1dfl-vmentry'/> <feature policy='require' name='mds-no'/> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml index debddc194f..072ece03f3 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml @@ -29,6 +29,7 @@ <feature name='decodeassists'/> <feature name='pause-filter'/> <feature name='pfthreshold'/> + <feature name='avic'/> <feature name='rdctl-no'/> <feature name='skip-l1dfl-vmentry'/> <feature name='mds-no'/> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml index 25ef2d3314..3b9286b5e0 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml @@ -5,5 +5,5 @@ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01c2300c' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00000005' ecx='0x00000000' edx='0x00000000'/> - <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x000014f6'/> + <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x000034f6'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml index 9d14213a0b..2a8d77eaa7 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml @@ -26,4 +26,5 @@ <feature policy='require' name='decodeassists'/> <feature policy='require' name='pause-filter'/> <feature policy='require' name='pfthreshold'/> + <feature policy='require' name='avic'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml index da05dd4709..bf948c55a7 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml @@ -28,4 +28,5 @@ <feature name='decodeassists'/> <feature name='pause-filter'/> <feature name='pfthreshold'/> + <feature name='avic'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml index f4d92cf034..e35657a140 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml @@ -5,5 +5,5 @@ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01c2300c' edx='0x08000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00000005' ecx='0x00000000' edx='0x00000000'/> - <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x000014f6'/> + <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x000034f6'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-guest.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-guest.xml index 1fee2fa9f8..355e346610 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-guest.xml @@ -26,5 +26,6 @@ <feature policy='require' name='decodeassists'/> <feature policy='require' name='pause-filter'/> <feature policy='require' name='pfthreshold'/> + <feature policy='require' name='avic'/> <feature policy='disable' name='rdtscp'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml index e91c14c715..3cc3049b33 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml @@ -28,4 +28,5 @@ <feature name='decodeassists'/> <feature name='pause-filter'/> <feature name='pfthreshold'/> + <feature name='avic'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml index 25ef2d3314..3b9286b5e0 100644 --- a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml @@ -5,5 +5,5 @@ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01c2300c' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00000005' ecx='0x00000000' edx='0x00000000'/> - <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x000014f6'/> + <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x000034f6'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml index 5df21521f6..078c9e710b 100644 --- a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml @@ -26,4 +26,5 @@ <feature policy='require' name='decodeassists'/> <feature policy='require' name='pause-filter'/> <feature policy='require' name='pfthreshold'/> + <feature policy='require' name='avic'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml index d06a7afc3f..57bc118776 100644 --- a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml @@ -28,4 +28,5 @@ <feature name='decodeassists'/> <feature name='pause-filter'/> <feature name='pfthreshold'/> + <feature name='avic'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml index a63cd5c4b4..c7e54a5ac8 100644 --- a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml @@ -6,5 +6,5 @@ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01c23008' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00000005' ecx='0x00000000' edx='0x00000000'/> - <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x000014f6'/> + <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x000034f6'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml index 9d14213a0b..2a8d77eaa7 100644 --- a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml @@ -26,4 +26,5 @@ <feature policy='require' name='decodeassists'/> <feature policy='require' name='pause-filter'/> <feature policy='require' name='pfthreshold'/> + <feature policy='require' name='avic'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml index 15ec20bd63..99452979ee 100644 --- a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml @@ -28,4 +28,5 @@ <feature name='decodeassists'/> <feature name='pause-filter'/> <feature name='pfthreshold'/> + <feature name='avic'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-disabled.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-disabled.xml index 869659cc80..045ea7c99a 100644 --- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-disabled.xml @@ -6,5 +6,5 @@ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01423408' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00008000' ecx='0x00000000' edx='0x00000000'/> - <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x000014f6'/> + <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x000034f6'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml index 6d95b508b2..758b184da9 100644 --- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml @@ -26,6 +26,7 @@ <feature policy='require' name='decodeassists'/> <feature policy='require' name='pause-filter'/> <feature policy='require' name='pfthreshold'/> + <feature policy='require' name='avic'/> <feature policy='require' name='rdctl-no'/> <feature policy='require' name='skip-l1dfl-vmentry'/> <feature policy='require' name='mds-no'/> diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml index 7f86683bf2..de5f40e4db 100644 --- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml @@ -28,6 +28,7 @@ <feature name='decodeassists'/> <feature name='pause-filter'/> <feature name='pfthreshold'/> + <feature name='avic'/> <feature name='rdctl-no'/> <feature name='skip-l1dfl-vmentry'/> <feature name='mds-no'/> -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:26 +0200, Tim Wiederhake wrote:
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml | 1 + tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml | 1 + .../x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml | 2 +- .../cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml | 1 + .../x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml | 2 +- .../cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml | 1 + .../x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml | 2 +- .../x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml | 1 + .../cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml | 1 + .../x86_64-cpuid-Ryzen-9-3900X-12-Core-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml | 1 + 19 files changed, 21 insertions(+), 6 deletions(-)
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml | 1 + tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml | 1 + .../x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml | 2 +- .../cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml | 1 + .../x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml | 2 +- .../cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml | 1 + .../x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml | 2 +- .../x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml | 1 + .../cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml | 1 + .../x86_64-cpuid-Ryzen-9-3900X-12-Core-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml | 1 + 19 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index 7b64467231..aee6d611ba 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -650,6 +650,9 @@ <feature name='avic'> <cpuid eax_in='0x8000000a' edx='0x00002000'/> </feature> + <feature name='v-vmsave-vmload'> + <cpuid eax_in='0x8000000a' edx='0x00008000'/> + </feature> <feature name='svme-addr-chk'> <cpuid eax_in='0x8000000a' edx='0x10000000'/> </feature> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml index bb8fac53b2..be9fa836e9 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml @@ -6,5 +6,5 @@ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01423408' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00004000' ecx='0x00000000' edx='0x00000000'/> - <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x000034f6'/> + <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x0000b4f6'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml index 84434311e5..f823b9c63a 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml @@ -28,6 +28,7 @@ <feature policy='require' name='pause-filter'/> <feature policy='require' name='pfthreshold'/> <feature policy='require' name='avic'/> + <feature policy='require' name='v-vmsave-vmload'/> <feature policy='require' name='rdctl-no'/> <feature policy='require' name='skip-l1dfl-vmentry'/> <feature policy='require' name='mds-no'/> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml index 072ece03f3..0e2d4d735d 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml @@ -30,6 +30,7 @@ <feature name='pause-filter'/> <feature name='pfthreshold'/> <feature name='avic'/> + <feature name='v-vmsave-vmload'/> <feature name='rdctl-no'/> <feature name='skip-l1dfl-vmentry'/> <feature name='mds-no'/> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml index 3b9286b5e0..43e40c2dde 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml @@ -5,5 +5,5 @@ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01c2300c' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00000005' ecx='0x00000000' edx='0x00000000'/> - <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x000034f6'/> + <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x0000b4f6'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml index 2a8d77eaa7..db11367649 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml @@ -27,4 +27,5 @@ <feature policy='require' name='pause-filter'/> <feature policy='require' name='pfthreshold'/> <feature policy='require' name='avic'/> + <feature policy='require' name='v-vmsave-vmload'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml index bf948c55a7..f758bf19c2 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml @@ -29,4 +29,5 @@ <feature name='pause-filter'/> <feature name='pfthreshold'/> <feature name='avic'/> + <feature name='v-vmsave-vmload'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml index e35657a140..e64b5e831c 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml @@ -5,5 +5,5 @@ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01c2300c' edx='0x08000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00000005' ecx='0x00000000' edx='0x00000000'/> - <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x000034f6'/> + <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x0000b4f6'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-guest.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-guest.xml index 355e346610..842d4d8e51 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-guest.xml @@ -27,5 +27,6 @@ <feature policy='require' name='pause-filter'/> <feature policy='require' name='pfthreshold'/> <feature policy='require' name='avic'/> + <feature policy='require' name='v-vmsave-vmload'/> <feature policy='disable' name='rdtscp'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml index 3cc3049b33..8859aa62f3 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml @@ -29,4 +29,5 @@ <feature name='pause-filter'/> <feature name='pfthreshold'/> <feature name='avic'/> + <feature name='v-vmsave-vmload'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml index 3b9286b5e0..43e40c2dde 100644 --- a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml @@ -5,5 +5,5 @@ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01c2300c' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00000005' ecx='0x00000000' edx='0x00000000'/> - <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x000034f6'/> + <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x0000b4f6'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml index 078c9e710b..4e3f72b690 100644 --- a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml @@ -27,4 +27,5 @@ <feature policy='require' name='pause-filter'/> <feature policy='require' name='pfthreshold'/> <feature policy='require' name='avic'/> + <feature policy='require' name='v-vmsave-vmload'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml index 57bc118776..acdefb29e0 100644 --- a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml @@ -29,4 +29,5 @@ <feature name='pause-filter'/> <feature name='pfthreshold'/> <feature name='avic'/> + <feature name='v-vmsave-vmload'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml index c7e54a5ac8..bed241b6fb 100644 --- a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml @@ -6,5 +6,5 @@ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01c23008' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00000005' ecx='0x00000000' edx='0x00000000'/> - <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x000034f6'/> + <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x0000b4f6'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml index 2a8d77eaa7..db11367649 100644 --- a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml @@ -27,4 +27,5 @@ <feature policy='require' name='pause-filter'/> <feature policy='require' name='pfthreshold'/> <feature policy='require' name='avic'/> + <feature policy='require' name='v-vmsave-vmload'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml index 99452979ee..0b9918b726 100644 --- a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml @@ -29,4 +29,5 @@ <feature name='pause-filter'/> <feature name='pfthreshold'/> <feature name='avic'/> + <feature name='v-vmsave-vmload'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-disabled.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-disabled.xml index 045ea7c99a..f2da924b62 100644 --- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-disabled.xml @@ -6,5 +6,5 @@ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01423408' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00008000' ecx='0x00000000' edx='0x00000000'/> - <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x000034f6'/> + <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x0000b4f6'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml index 758b184da9..7e6277dc26 100644 --- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml @@ -27,6 +27,7 @@ <feature policy='require' name='pause-filter'/> <feature policy='require' name='pfthreshold'/> <feature policy='require' name='avic'/> + <feature policy='require' name='v-vmsave-vmload'/> <feature policy='require' name='rdctl-no'/> <feature policy='require' name='skip-l1dfl-vmentry'/> <feature policy='require' name='mds-no'/> diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml index de5f40e4db..9b27573e43 100644 --- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml @@ -29,6 +29,7 @@ <feature name='pause-filter'/> <feature name='pfthreshold'/> <feature name='avic'/> + <feature name='v-vmsave-vmload'/> <feature name='rdctl-no'/> <feature name='skip-l1dfl-vmentry'/> <feature name='mds-no'/> -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:27 +0200, Tim Wiederhake wrote:
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml | 1 + tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml | 1 + .../x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml | 2 +- .../cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml | 1 + .../x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml | 2 +- .../cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml | 1 + .../x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml | 2 +- .../x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml | 1 + .../cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml | 1 + .../x86_64-cpuid-Ryzen-9-3900X-12-Core-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml | 1 + 19 files changed, 21 insertions(+), 6 deletions(-)
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>

Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml | 1 + tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml | 1 + .../x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml | 2 +- .../cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml | 1 + .../x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml | 2 +- .../cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml | 1 + .../x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml | 2 +- .../x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml | 1 + .../cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml | 1 + .../x86_64-cpuid-Ryzen-9-3900X-12-Core-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml | 1 + tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 1 + 22 files changed, 24 insertions(+), 6 deletions(-) diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index aee6d611ba..c784307136 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -653,6 +653,9 @@ <feature name='v-vmsave-vmload'> <cpuid eax_in='0x8000000a' edx='0x00008000'/> </feature> + <feature name='vgif'> + <cpuid eax_in='0x8000000a' edx='0x00010000'/> + </feature> <feature name='svme-addr-chk'> <cpuid eax_in='0x8000000a' edx='0x10000000'/> </feature> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml index be9fa836e9..f55295d649 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml @@ -6,5 +6,5 @@ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01423408' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00004000' ecx='0x00000000' edx='0x00000000'/> - <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x0000b4f6'/> + <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x0001b4f6'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml index f823b9c63a..9b4ee7b959 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml @@ -29,6 +29,7 @@ <feature policy='require' name='pfthreshold'/> <feature policy='require' name='avic'/> <feature policy='require' name='v-vmsave-vmload'/> + <feature policy='require' name='vgif'/> <feature policy='require' name='rdctl-no'/> <feature policy='require' name='skip-l1dfl-vmentry'/> <feature policy='require' name='mds-no'/> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml index 0e2d4d735d..e348e0f6f6 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml @@ -31,6 +31,7 @@ <feature name='pfthreshold'/> <feature name='avic'/> <feature name='v-vmsave-vmload'/> + <feature name='vgif'/> <feature name='rdctl-no'/> <feature name='skip-l1dfl-vmentry'/> <feature name='mds-no'/> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml index 43e40c2dde..d81dfc87e4 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml @@ -5,5 +5,5 @@ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01c2300c' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00000005' ecx='0x00000000' edx='0x00000000'/> - <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x0000b4f6'/> + <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x0001b4f6'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml index db11367649..486b41815d 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml @@ -28,4 +28,5 @@ <feature policy='require' name='pfthreshold'/> <feature policy='require' name='avic'/> <feature policy='require' name='v-vmsave-vmload'/> + <feature policy='require' name='vgif'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml index f758bf19c2..94f832071b 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml @@ -30,4 +30,5 @@ <feature name='pfthreshold'/> <feature name='avic'/> <feature name='v-vmsave-vmload'/> + <feature name='vgif'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml index e64b5e831c..d762e4d33c 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml @@ -5,5 +5,5 @@ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01c2300c' edx='0x08000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00000005' ecx='0x00000000' edx='0x00000000'/> - <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x0000b4f6'/> + <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x0001b4f6'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-guest.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-guest.xml index 842d4d8e51..ca877b867b 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-guest.xml @@ -28,5 +28,6 @@ <feature policy='require' name='pfthreshold'/> <feature policy='require' name='avic'/> <feature policy='require' name='v-vmsave-vmload'/> + <feature policy='require' name='vgif'/> <feature policy='disable' name='rdtscp'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml index 8859aa62f3..42b8b5f986 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml @@ -30,4 +30,5 @@ <feature name='pfthreshold'/> <feature name='avic'/> <feature name='v-vmsave-vmload'/> + <feature name='vgif'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml index 43e40c2dde..d81dfc87e4 100644 --- a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml @@ -5,5 +5,5 @@ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01c2300c' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00000005' ecx='0x00000000' edx='0x00000000'/> - <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x0000b4f6'/> + <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x0001b4f6'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml index 4e3f72b690..8669e5bd1b 100644 --- a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml @@ -28,4 +28,5 @@ <feature policy='require' name='pfthreshold'/> <feature policy='require' name='avic'/> <feature policy='require' name='v-vmsave-vmload'/> + <feature policy='require' name='vgif'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml index acdefb29e0..ddb14c0440 100644 --- a/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml @@ -30,4 +30,5 @@ <feature name='pfthreshold'/> <feature name='avic'/> <feature name='v-vmsave-vmload'/> + <feature name='vgif'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml index bed241b6fb..2ca7cce2bb 100644 --- a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml @@ -6,5 +6,5 @@ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01c23008' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00000005' ecx='0x00000000' edx='0x00000000'/> - <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x0000b4f6'/> + <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x0001b4f6'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml index db11367649..486b41815d 100644 --- a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml @@ -28,4 +28,5 @@ <feature policy='require' name='pfthreshold'/> <feature policy='require' name='avic'/> <feature policy='require' name='v-vmsave-vmload'/> + <feature policy='require' name='vgif'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml index 0b9918b726..1b0b0d4407 100644 --- a/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml @@ -30,4 +30,5 @@ <feature name='pfthreshold'/> <feature name='avic'/> <feature name='v-vmsave-vmload'/> + <feature name='vgif'/> </cpu> diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-disabled.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-disabled.xml index f2da924b62..f0a381a2f8 100644 --- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-disabled.xml @@ -6,5 +6,5 @@ <cpuid eax_in='0x80000001' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x01423408' edx='0x00000000'/> <cpuid eax_in='0x80000007' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x00000100'/> <cpuid eax_in='0x80000008' ecx_in='0x00' eax='0x00000000' ebx='0x00008000' ecx='0x00000000' edx='0x00000000'/> - <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x0000b4f6'/> + <cpuid eax_in='0x8000000a' ecx_in='0x00' eax='0x00000000' ebx='0x00000000' ecx='0x00000000' edx='0x0001b4f6'/> </cpudata> diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml index 7e6277dc26..e934f4e8ef 100644 --- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml @@ -28,6 +28,7 @@ <feature policy='require' name='pfthreshold'/> <feature policy='require' name='avic'/> <feature policy='require' name='v-vmsave-vmload'/> + <feature policy='require' name='vgif'/> <feature policy='require' name='rdctl-no'/> <feature policy='require' name='skip-l1dfl-vmentry'/> <feature policy='require' name='mds-no'/> diff --git a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml index 9b27573e43..f1f4df1176 100644 --- a/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml +++ b/tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml @@ -30,6 +30,7 @@ <feature name='pfthreshold'/> <feature name='avic'/> <feature name='v-vmsave-vmload'/> + <feature name='vgif'/> <feature name='rdctl-no'/> <feature name='skip-l1dfl-vmentry'/> <feature name='mds-no'/> diff --git a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml index 569cf5e77b..8a009ee070 100644 --- a/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml @@ -73,6 +73,7 @@ <feature policy='require' name='3dnow'/> <feature policy='require' name='cr8legacy'/> <feature policy='require' name='npt'/> + <feature policy='require' name='vgif'/> <feature policy='require' name='svme-addr-chk'/> <feature policy='disable' name='misalignsse'/> </mode> diff --git a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml index 2f0d4000ec..945ad91c66 100644 --- a/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml @@ -74,6 +74,7 @@ <feature policy='require' name='3dnow'/> <feature policy='require' name='cr8legacy'/> <feature policy='require' name='npt'/> + <feature policy='require' name='vgif'/> <feature policy='require' name='svme-addr-chk'/> <feature policy='disable' name='misalignsse'/> </mode> diff --git a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml index 0c37476f02..f4933e435f 100644 --- a/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml +++ b/tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml @@ -74,6 +74,7 @@ <feature policy='require' name='3dnow'/> <feature policy='require' name='cr8legacy'/> <feature policy='require' name='npt'/> + <feature policy='require' name='vgif'/> <feature policy='require' name='svme-addr-chk'/> <feature policy='disable' name='misalignsse'/> </mode> -- 2.36.1

On Wed, Oct 19, 2022 at 18:56:28 +0200, Tim Wiederhake wrote:
Signed-off-by: Tim Wiederhake <twiederh@redhat.com> --- src/cpu_map/x86_features.xml | 3 +++ tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-EPYC-7502-32-Core-host.xml | 1 + tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-host.xml | 1 + .../x86_64-cpuid-EPYC-7601-32-Core-ibpb-disabled.xml | 2 +- .../cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-EPYC-7601-32-Core-ibpb-host.xml | 1 + .../x86_64-cpuid-Hygon-C86-7185-32-core-disabled.xml | 2 +- .../cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Hygon-C86-7185-32-core-host.xml | 1 + .../x86_64-cpuid-Ryzen-7-1800X-Eight-Core-disabled.xml | 2 +- .../x86_64-cpuid-Ryzen-7-1800X-Eight-Core-guest.xml | 1 + .../cputestdata/x86_64-cpuid-Ryzen-7-1800X-Eight-Core-host.xml | 1 + .../x86_64-cpuid-Ryzen-9-3900X-12-Core-disabled.xml | 2 +- tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-guest.xml | 1 + tests/cputestdata/x86_64-cpuid-Ryzen-9-3900X-12-Core-host.xml | 1 + tests/domaincapsdata/qemu_6.2.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.0.0-tcg.x86_64.xml | 1 + tests/domaincapsdata/qemu_7.1.0-tcg.x86_64.xml | 1 + 22 files changed, 24 insertions(+), 6 deletions(-)
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
participants (2)
-
Jiri Denemark
-
Tim Wiederhake