Signed-off-by: Tim Wiederhake <twiederh(a)redhat.com>
Reviewed-by: Jiri Denemark <jdenemar(a)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_7.2.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_7.2.0.x86_64.xml | 1 +
tests/qemuxml2argvdata/cpu-host-model.x86_64-latest.args | 2 +-
22 files changed, 24 insertions(+), 7 deletions(-)
diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml
index 9f3bcc619a..8d8679e29c 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'/>
diff --git a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
index 76c2bcd511..f907c55b8d 100644
--- a/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0-q35.x86_64.xml
@@ -61,6 +61,7 @@
<feature policy='require' name='vmcb-clean'/>
<feature policy='require' name='pause-filter'/>
<feature policy='require' name='pfthreshold'/>
+ <feature policy='require' name='v-vmsave-vmload'/>
<feature policy='require' name='svme-addr-chk'/>
<feature policy='require' name='rdctl-no'/>
<feature policy='require' name='skip-l1dfl-vmentry'/>
diff --git a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
index 882fd9c40b..307099f0bb 100644
--- a/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_7.2.0.x86_64.xml
@@ -60,6 +60,7 @@
<feature policy='require' name='vmcb-clean'/>
<feature policy='require' name='pause-filter'/>
<feature policy='require' name='pfthreshold'/>
+ <feature policy='require' name='v-vmsave-vmload'/>
<feature policy='require' name='svme-addr-chk'/>
<feature policy='require' name='rdctl-no'/>
<feature policy='require' name='skip-l1dfl-vmentry'/>
diff --git a/tests/qemuxml2argvdata/cpu-host-model.x86_64-latest.args
b/tests/qemuxml2argvdata/cpu-host-model.x86_64-latest.args
index e4b66574db..80758fc45f 100644
--- a/tests/qemuxml2argvdata/cpu-host-model.x86_64-latest.args
+++ b/tests/qemuxml2argvdata/cpu-host-model.x86_64-latest.args
@@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-object
'{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/tmp/lib/domain--1-QEMUGuest1/master-key.aes"}'
\
-machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram \
-accel kvm \
--cpu
EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on
\
+-cpu
EPYC-Rome,x2apic=on,tsc-deadline=on,hypervisor=on,tsc-adjust=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,cmp-legacy=on,amd-ssbd=on,virt-ssbd=on,lbrv=on,tsc-scale=on,vmcb-clean=on,pause-filter=on,pfthreshold=on,v-vmsave-vmload=on,svme-addr-chk=on,rdctl-no=on,skip-l1dfl-vmentry=on,mds-no=on,pschange-mc-no=on
\
-m 214 \
-object
'{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}'
\
-overcommit mem-lock=off \
--
2.36.1