From: Jiri Denemark Date: Wed, 5 Nov 2025 14:07:17 +0000 (+0100) Subject: cpu_map: Add a few missing features to 0x80000021 CPUID leaf X-Git-Tag: CVE-2025-12748~59 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b72758d62a3e93547e48d306dd08e4a58759dbf1;p=thirdparty%2Flibvirt.git cpu_map: Add a few missing features to 0x80000021 CPUID leaf QEMU commit dfd5b456108a75588ab094358ba5754787146d3d Signed-off-by: Jiri Denemark Reviewed-by: Michal Privoznik --- diff --git a/src/cpu_map/sync_qemu_models_i386.py b/src/cpu_map/sync_qemu_models_i386.py index f3e9a0dcde..3ef34572c0 100755 --- a/src/cpu_map/sync_qemu_models_i386.py +++ b/src/cpu_map/sync_qemu_models_i386.py @@ -108,6 +108,8 @@ def translate_feature(name): "lfence-always-serializing", "CPUID_8000_0021_EAX_NULL_SEL_CLR_BASE": "null-sel-clr-base", "CPUID_8000_0021_EAX_No_NESTED_DATA_BP": "no-nested-data-bp", + "CPUID_8000_0021_EAX_FS_GS_BASE_NS": "fs-gs-base-ns", + "CPUID_8000_0021_EAX_PREFETCHI": "prefetchi", "CPUID_ACPI": "acpi", "CPUID_APIC": "apic", "CPUID_CLFLUSH": "clflush", diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml index 8a0e786aea..043f876c3e 100644 --- a/src/cpu_map/x86_features.xml +++ b/src/cpu_map/x86_features.xml @@ -803,6 +803,9 @@ + + + @@ -812,6 +815,9 @@ + + + diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-9334-32-Core-disabled.xml b/tests/cputestdata/x86_64-cpuid-EPYC-9334-32-Core-disabled.xml index 7db00c4075..a5f3f1ba1d 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-9334-32-Core-disabled.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-9334-32-Core-disabled.xml @@ -6,4 +6,5 @@ + diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-9334-32-Core-guest.xml b/tests/cputestdata/x86_64-cpuid-EPYC-9334-32-Core-guest.xml index c7097f9c73..1ef9a4a365 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-9334-32-Core-guest.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-9334-32-Core-guest.xml @@ -32,6 +32,7 @@ + diff --git a/tests/cputestdata/x86_64-cpuid-EPYC-9334-32-Core-host.xml b/tests/cputestdata/x86_64-cpuid-EPYC-9334-32-Core-host.xml index ef3a89733b..cdf23b7a60 100644 --- a/tests/cputestdata/x86_64-cpuid-EPYC-9334-32-Core-host.xml +++ b/tests/cputestdata/x86_64-cpuid-EPYC-9334-32-Core-host.xml @@ -34,6 +34,7 @@ + diff --git a/tests/domaincapsdata/qemu_10.2.0-q35.x86_64.xml b/tests/domaincapsdata/qemu_10.2.0-q35.x86_64.xml index ed78d225ba..8f78fc1d2d 100644 --- a/tests/domaincapsdata/qemu_10.2.0-q35.x86_64.xml +++ b/tests/domaincapsdata/qemu_10.2.0-q35.x86_64.xml @@ -69,6 +69,8 @@ + + diff --git a/tests/domaincapsdata/qemu_10.2.0.x86_64.xml b/tests/domaincapsdata/qemu_10.2.0.x86_64.xml index d6988a17c3..d12500658a 100644 --- a/tests/domaincapsdata/qemu_10.2.0.x86_64.xml +++ b/tests/domaincapsdata/qemu_10.2.0.x86_64.xml @@ -68,6 +68,8 @@ + + diff --git a/tests/qemuxmlconfdata/cpu-host-model-fallback-kvm.x86_64-latest.args b/tests/qemuxmlconfdata/cpu-host-model-fallback-kvm.x86_64-latest.args index 7c5f5ffbb3..642dcd3035 100644 --- a/tests/qemuxmlconfdata/cpu-host-model-fallback-kvm.x86_64-latest.args +++ b/tests/qemuxmlconfdata/cpu-host-model-fallback-kvm.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Genoa,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,movdiri=on,movdir64b=on,avx512-vp2intersect=on,spec-ctrl=on,stibp=on,flush-l1d=on,ssbd=on,avx-vnni=on,cmp-legacy=on,overflow-recov=on,succor=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,flushbyasid=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,sbpb=on,ibpb-brtype=on,srso-user-kernel-no=on,perfmon-v2=on,pcid=off,la57=off \ +-cpu EPYC-Genoa,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,movdiri=on,movdir64b=on,avx512-vp2intersect=on,spec-ctrl=on,stibp=on,flush-l1d=on,ssbd=on,avx-vnni=on,cmp-legacy=on,overflow-recov=on,succor=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,flushbyasid=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,fs-gs-base-ns=on,prefetchi=on,sbpb=on,ibpb-brtype=on,srso-user-kernel-no=on,perfmon-v2=on,pcid=off,la57=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxmlconfdata/cpu-host-model-features.x86_64-latest.args b/tests/qemuxmlconfdata/cpu-host-model-features.x86_64-latest.args index 99cea80a35..8db71ce1fc 100644 --- a/tests/qemuxmlconfdata/cpu-host-model-features.x86_64-latest.args +++ b/tests/qemuxmlconfdata/cpu-host-model-features.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Genoa,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,movdiri=on,movdir64b=on,avx512-vp2intersect=on,spec-ctrl=on,stibp=on,flush-l1d=on,ssbd=on,avx-vnni=on,cmp-legacy=on,overflow-recov=on,succor=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,flushbyasid=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,sbpb=on,ibpb-brtype=on,srso-user-kernel-no=on,perfmon-v2=on,pcid=off,la57=off,abm=on,ds=on,invtsc=off \ +-cpu EPYC-Genoa,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,movdiri=on,movdir64b=on,avx512-vp2intersect=on,spec-ctrl=on,stibp=on,flush-l1d=on,ssbd=on,avx-vnni=on,cmp-legacy=on,overflow-recov=on,succor=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,flushbyasid=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,fs-gs-base-ns=on,prefetchi=on,sbpb=on,ibpb-brtype=on,srso-user-kernel-no=on,perfmon-v2=on,pcid=off,la57=off,abm=on,ds=on,invtsc=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxmlconfdata/cpu-host-model-kvm.x86_64-latest.args b/tests/qemuxmlconfdata/cpu-host-model-kvm.x86_64-latest.args index 7ab53e790a..a2197d382e 100644 --- a/tests/qemuxmlconfdata/cpu-host-model-kvm.x86_64-latest.args +++ b/tests/qemuxmlconfdata/cpu-host-model-kvm.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Genoa,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,movdiri=on,movdir64b=on,avx512-vp2intersect=on,spec-ctrl=on,stibp=on,flush-l1d=on,ssbd=on,avx-vnni=on,cmp-legacy=on,overflow-recov=on,succor=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,flushbyasid=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,sbpb=on,ibpb-brtype=on,srso-user-kernel-no=on,perfmon-v2=on,pcid=off,la57=off \ +-cpu EPYC-Genoa,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,movdiri=on,movdir64b=on,avx512-vp2intersect=on,spec-ctrl=on,stibp=on,flush-l1d=on,ssbd=on,avx-vnni=on,cmp-legacy=on,overflow-recov=on,succor=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,flushbyasid=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,fs-gs-base-ns=on,prefetchi=on,sbpb=on,ibpb-brtype=on,srso-user-kernel-no=on,perfmon-v2=on,pcid=off,la57=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \ diff --git a/tests/qemuxmlconfdata/cpu-host-model-nofallback-kvm.x86_64-latest.args b/tests/qemuxmlconfdata/cpu-host-model-nofallback-kvm.x86_64-latest.args index 7c5f5ffbb3..642dcd3035 100644 --- a/tests/qemuxmlconfdata/cpu-host-model-nofallback-kvm.x86_64-latest.args +++ b/tests/qemuxmlconfdata/cpu-host-model-nofallback-kvm.x86_64-latest.args @@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \ -object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}' \ -machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=off \ -accel kvm \ --cpu EPYC-Genoa,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,movdiri=on,movdir64b=on,avx512-vp2intersect=on,spec-ctrl=on,stibp=on,flush-l1d=on,ssbd=on,avx-vnni=on,cmp-legacy=on,overflow-recov=on,succor=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,flushbyasid=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,sbpb=on,ibpb-brtype=on,srso-user-kernel-no=on,perfmon-v2=on,pcid=off,la57=off \ +-cpu EPYC-Genoa,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,movdiri=on,movdir64b=on,avx512-vp2intersect=on,spec-ctrl=on,stibp=on,flush-l1d=on,ssbd=on,avx-vnni=on,cmp-legacy=on,overflow-recov=on,succor=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,flushbyasid=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,vgif=on,fs-gs-base-ns=on,prefetchi=on,sbpb=on,ibpb-brtype=on,srso-user-kernel-no=on,perfmon-v2=on,pcid=off,la57=off \ -m size=219136k \ -object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}' \ -overcommit mem-lock=off \