Signed-off-by: Tim Wiederhake <twiederh(a)redhat.com>
---
src/cpu_map/x86_features.xml | 4 ++++
tests/cputestdata/x86_64-cpuid-Atom-P5362-enabled.xml | 1 +
tests/cputestdata/x86_64-cpuid-Atom-P5362-json.xml | 1 +
tests/cputestdata/x86_64-cpuid-Cooperlake-enabled.xml | 1 +
tests/cputestdata/x86_64-cpuid-Cooperlake-json.xml | 1 +
tests/cputestdata/x86_64-cpuid-Core-i7-8550U-enabled.xml | 1 +
tests/cputestdata/x86_64-cpuid-Core-i7-8550U-json.xml | 1 +
tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-enabled.xml | 1 +
tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-json.xml | 1 +
.../x86_64-cpuid-baseline-Cooperlake+Cascadelake.xml | 1 +
tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 1 +
tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 1 +
tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 1 +
tests/qemuxml2argvdata/cpu-host-model.x86_64-4.2.0.args | 2 +-
tests/qemuxml2argvdata/cpu-host-model.x86_64-5.0.0.args | 2 +-
16 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml
index 6769ef1cca..b79ed579b2 100644
--- a/src/cpu_map/x86_features.xml
+++ b/src/cpu_map/x86_features.xml
@@ -1071,4 +1071,8 @@
<feature name='vmx-entry-load-pkrs'>
<msr index='0x490' edx='0x00000000' eax='0x00400000'/>
</feature>
+
+ <feature name='vmx-eptp-switching'>
+ <msr index='0x491' edx='0x00000000' eax='0x00000001'/>
+ </feature>
</cpus>
diff --git a/tests/cputestdata/x86_64-cpuid-Atom-P5362-enabled.xml
b/tests/cputestdata/x86_64-cpuid-Atom-P5362-enabled.xml
index d957d2a155..80c24facdf 100644
--- a/tests/cputestdata/x86_64-cpuid-Atom-P5362-enabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Atom-P5362-enabled.xml
@@ -15,4 +15,5 @@
<msr index='0x48e' edx='0x00000000' eax='0xfbf99e8c'/>
<msr index='0x48f' edx='0x00000000' eax='0x007c8004'/>
<msr index='0x490' edx='0x00000000' eax='0x0000c204'/>
+ <msr index='0x491' edx='0x00000000' eax='0x00000001'/>
</cpudata>
diff --git a/tests/cputestdata/x86_64-cpuid-Atom-P5362-json.xml
b/tests/cputestdata/x86_64-cpuid-Atom-P5362-json.xml
index b867dbd449..ff7ac5b391 100644
--- a/tests/cputestdata/x86_64-cpuid-Atom-P5362-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Atom-P5362-json.xml
@@ -87,6 +87,7 @@
<feature policy='require' name='vmx-entry-ia32e-mode'/>
<feature policy='require' name='vmx-entry-load-pat'/>
<feature policy='require' name='vmx-entry-load-efer'/>
+ <feature policy='require' name='vmx-eptp-switching'/>
<feature policy='disable' name='mpx'/>
<feature policy='disable' name='core-capability'/>
<feature policy='disable' name='pdpe1gb'/>
diff --git a/tests/cputestdata/x86_64-cpuid-Cooperlake-enabled.xml
b/tests/cputestdata/x86_64-cpuid-Cooperlake-enabled.xml
index 3ca004ac7d..c42a69d102 100644
--- a/tests/cputestdata/x86_64-cpuid-Cooperlake-enabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Cooperlake-enabled.xml
@@ -16,4 +16,5 @@
<msr index='0x48e' edx='0x00000000' eax='0xfbf99e8c'/>
<msr index='0x48f' edx='0x00000000' eax='0x007c8004'/>
<msr index='0x490' edx='0x00000000' eax='0x0000c204'/>
+ <msr index='0x491' edx='0x00000000' eax='0x00000001'/>
</cpudata>
diff --git a/tests/cputestdata/x86_64-cpuid-Cooperlake-json.xml
b/tests/cputestdata/x86_64-cpuid-Cooperlake-json.xml
index 2fcca6a12e..9dbb92e74f 100644
--- a/tests/cputestdata/x86_64-cpuid-Cooperlake-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Cooperlake-json.xml
@@ -83,4 +83,5 @@
<feature policy='require' name='vmx-entry-ia32e-mode'/>
<feature policy='require' name='vmx-entry-load-pat'/>
<feature policy='require' name='vmx-entry-load-efer'/>
+ <feature policy='require' name='vmx-eptp-switching'/>
</cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-enabled.xml
b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-enabled.xml
index a1b9fc286c..19dd4f6f0c 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-enabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-enabled.xml
@@ -14,4 +14,5 @@
<msr index='0x48e' edx='0x00000000' eax='0xfbf99e8c'/>
<msr index='0x48f' edx='0x00000000' eax='0x007c8004'/>
<msr index='0x490' edx='0x00000000' eax='0x0000c204'/>
+ <msr index='0x491' edx='0x00000000' eax='0x00000001'/>
</cpudata>
diff --git a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-json.xml
b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-json.xml
index 4b4dcd5e70..e933265248 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-json.xml
@@ -82,6 +82,7 @@
<feature policy='require' name='vmx-entry-ia32e-mode'/>
<feature policy='require' name='vmx-entry-load-pat'/>
<feature policy='require' name='vmx-entry-load-efer'/>
+ <feature policy='require' name='vmx-eptp-switching'/>
<feature policy='disable' name='hle'/>
<feature policy='disable' name='rtm'/>
</cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-enabled.xml
b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-enabled.xml
index 3f49dfb594..b830c52b8c 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-enabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-enabled.xml
@@ -15,4 +15,5 @@
<msr index='0x48e' edx='0x00000000' eax='0xfbf99e8c'/>
<msr index='0x48f' edx='0x00000000' eax='0x007c8004'/>
<msr index='0x490' edx='0x00000000' eax='0x0000c204'/>
+ <msr index='0x491' edx='0x00000000' eax='0x00000001'/>
</cpudata>
diff --git a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-json.xml
b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-json.xml
index 935efce2d8..ac0e520767 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-json.xml
@@ -89,4 +89,5 @@
<feature policy='require' name='vmx-entry-ia32e-mode'/>
<feature policy='require' name='vmx-entry-load-pat'/>
<feature policy='require' name='vmx-entry-load-efer'/>
+ <feature policy='require' name='vmx-eptp-switching'/>
</cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Cascadelake.xml
b/tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Cascadelake.xml
index 53d3d4209a..f9e9c476b5 100644
--- a/tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Cascadelake.xml
+++ b/tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Cascadelake.xml
@@ -89,4 +89,5 @@
<feature policy='require' name='vmx-entry-ia32e-mode'/>
<feature policy='require' name='vmx-entry-load-pat'/>
<feature policy='require' name='vmx-entry-load-efer'/>
+ <feature policy='require' name='vmx-eptp-switching'/>
</cpu>
diff --git a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml
index f272b33bb4..152f201ff9 100644
--- a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml
@@ -126,6 +126,7 @@
<feature policy='require' name='vmx-entry-ia32e-mode'/>
<feature policy='require' name='vmx-entry-load-pat'/>
<feature policy='require' name='vmx-entry-load-efer'/>
+ <feature policy='require' name='vmx-eptp-switching'/>
</mode>
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>qemu64</model>
diff --git a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml
b/tests/domaincapsdata/qemu_4.2.0.x86_64.xml
index 41d5181222..8b7cf44d6d 100644
--- a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_4.2.0.x86_64.xml
@@ -125,6 +125,7 @@
<feature policy='require' name='vmx-entry-ia32e-mode'/>
<feature policy='require' name='vmx-entry-load-pat'/>
<feature policy='require' name='vmx-entry-load-efer'/>
+ <feature policy='require' name='vmx-eptp-switching'/>
</mode>
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>qemu64</model>
diff --git a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml
b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml
index 317b7ff1f7..1d29a40f74 100644
--- a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml
@@ -126,6 +126,7 @@
<feature policy='require' name='vmx-entry-ia32e-mode'/>
<feature policy='require' name='vmx-entry-load-pat'/>
<feature policy='require' name='vmx-entry-load-efer'/>
+ <feature policy='require' name='vmx-eptp-switching'/>
</mode>
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>qemu64</model>
diff --git a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml
b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml
index 90cb0ce36c..f3b3adb19e 100644
--- a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml
@@ -125,6 +125,7 @@
<feature policy='require' name='vmx-entry-ia32e-mode'/>
<feature policy='require' name='vmx-entry-load-pat'/>
<feature policy='require' name='vmx-entry-load-efer'/>
+ <feature policy='require' name='vmx-eptp-switching'/>
</mode>
<mode name='custom' supported='yes'>
<model usable='yes' vendor='unknown'>qemu64</model>
diff --git a/tests/qemuxml2argvdata/cpu-host-model.x86_64-4.2.0.args
b/tests/qemuxml2argvdata/cpu-host-model.x86_64-4.2.0.args
index 0658650d82..aacba803e8 100644
--- a/tests/qemuxml2argvdata/cpu-host-model.x86_64-4.2.0.args
+++ b/tests/qemuxml2argvdata/cpu-host-model.x86_64-4.2.0.args
@@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-object
secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes
\
-machine pc-q35-4.2,usb=off,dump-guest-core=off \
-accel kvm \
--cpu
Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on,vmx-ins-outs=on,vmx-true-ctls=on,vmx-store-lma=on,vmx-activity-hlt=on,vmx-vmwrite-vmexit-fields=on,vmx-apicv-xapic=on,vmx-ept=on,vmx-desc-exit=on,vmx-rdtscp-exit=on,vmx-apicv-x2apic=on,vmx-vpid=on,vmx-wbinvd-exit=on,vmx-unrestricted-guest=on,vmx-rdrand-exit=on,vmx-invpcid-exit=on,vmx-vmfunc=on,vmx-shadow-vmcs=on,vmx-rdseed-exit=on,vmx-pml=on,vmx-xsaves=on,vmx-invvpid=on,vmx-invvpid-single-addr=on,vmx-invvpid-all-context=on,vmx-ept-execonly=on,vmx-page-walk-4=on,vmx-ept-2mb=on,vmx-ept-1gb=on,vmx-invept=on,vmx-eptad=on,vmx-invept-single-context=on,vmx-invept-all-context=on,vmx-intr-exit=on,vmx-nmi-exit=on,vmx-vnmi=on,vmx-preemption-timer=on,vmx-vintr-pending=on,vmx-tsc-offset=on,vmx-hlt-exit=on,vmx-invlpg-exit=on,vmx-mwait-exit=on,vmx-rdpmc-exit=on,vmx-rdtsc-exit=on,vmx-cr3-load-noexit=on,vmx-cr3-store-noexit=on,vmx-cr8-load-exit=on,vmx-cr8-store-exit=on,vmx-flexpriority=on,vmx-vnmi-pending=on,vmx-movdr-exit=on,vmx-io-exit=on,vmx-io-bitmap=on,vmx-mtf=on,vmx-msr-bitmap=on,vmx-monitor-exit=on,vmx-pause-exit=on,vmx-secondary-ctls=on,vmx-exit-nosave-debugctl=on,vmx-exit-ack-intr=on,vmx-exit-save-pat=on,vmx-exit-load-pat=on,vmx-exit-save-efer=on,vmx-exit-load-efer=on,vmx-exit-save-preemption-timer=on,vmx-entry-noload-debugctl=on,vmx-entry-ia32e-mode=on,vmx-entry-load-pat=on,vmx-entry-load-efer=on
\
+-cpu
Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on,vmx-ins-outs=on,vmx-true-ctls=on,vmx-store-lma=on,vmx-activity-hlt=on,vmx-vmwrite-vmexit-fields=on,vmx-apicv-xapic=on,vmx-ept=on,vmx-desc-exit=on,vmx-rdtscp-exit=on,vmx-apicv-x2apic=on,vmx-vpid=on,vmx-wbinvd-exit=on,vmx-unrestricted-guest=on,vmx-rdrand-exit=on,vmx-invpcid-exit=on,vmx-vmfunc=on,vmx-shadow-vmcs=on,vmx-rdseed-exit=on,vmx-pml=on,vmx-xsaves=on,vmx-invvpid=on,vmx-invvpid-single-addr=on,vmx-invvpid-all-context=on,vmx-ept-execonly=on,vmx-page-walk-4=on,vmx-ept-2mb=on,vmx-ept-1gb=on,vmx-invept=on,vmx-eptad=on,vmx-invept-single-context=on,vmx-invept-all-context=on,vmx-intr-exit=on,vmx-nmi-exit=on,vmx-vnmi=on,vmx-preemption-timer=on,vmx-vintr-pending=on,vmx-tsc-offset=on,vmx-hlt-exit=on,vmx-invlpg-exit=on,vmx-mwait-exit=on,vmx-rdpmc-exit=on,vmx-rdtsc-exit=on,vmx-cr3-load-noexit=on,vmx-cr3-store-noexit=on,vmx-cr8-load-exit=on,vmx-cr8-store-exit=on,vmx-flexpriority=on,vmx-vnmi-pending=on,vmx-movdr-exit=on,vmx-io-exit=on,vmx-io-bitmap=on,vmx-mtf=on,vmx-msr-bitmap=on,vmx-monitor-exit=on,vmx-pause-exit=on,vmx-secondary-ctls=on,vmx-exit-nosave-debugctl=on,vmx-exit-ack-intr=on,vmx-exit-save-pat=on,vmx-exit-load-pat=on,vmx-exit-save-efer=on,vmx-exit-load-efer=on,vmx-exit-save-preemption-timer=on,vmx-entry-noload-debugctl=on,vmx-entry-ia32e-mode=on,vmx-entry-load-pat=on,vmx-entry-load-efer=on,vmx-eptp-switching=on
\
-m size=219136k \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-host-model.x86_64-5.0.0.args
b/tests/qemuxml2argvdata/cpu-host-model.x86_64-5.0.0.args
index a5013ed2f9..a2415bb667 100644
--- a/tests/qemuxml2argvdata/cpu-host-model.x86_64-5.0.0.args
+++ b/tests/qemuxml2argvdata/cpu-host-model.x86_64-5.0.0.args
@@ -12,7 +12,7 @@ XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
-object
secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes
\
-machine pc-q35-5.0,usb=off,dump-guest-core=off \
-accel kvm \
--cpu
Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on,vmx-ins-outs=on,vmx-true-ctls=on,vmx-store-lma=on,vmx-activity-hlt=on,vmx-vmwrite-vmexit-fields=on,vmx-apicv-xapic=on,vmx-ept=on,vmx-desc-exit=on,vmx-rdtscp-exit=on,vmx-apicv-x2apic=on,vmx-vpid=on,vmx-wbinvd-exit=on,vmx-unrestricted-guest=on,vmx-rdrand-exit=on,vmx-invpcid-exit=on,vmx-vmfunc=on,vmx-shadow-vmcs=on,vmx-rdseed-exit=on,vmx-pml=on,vmx-xsaves=on,vmx-invvpid=on,vmx-invvpid-single-addr=on,vmx-invvpid-all-context=on,vmx-ept-execonly=on,vmx-page-walk-4=on,vmx-ept-2mb=on,vmx-ept-1gb=on,vmx-invept=on,vmx-eptad=on,vmx-invept-single-context=on,vmx-invept-all-context=on,vmx-intr-exit=on,vmx-nmi-exit=on,vmx-vnmi=on,vmx-preemption-timer=on,vmx-vintr-pending=on,vmx-tsc-offset=on,vmx-hlt-exit=on,vmx-invlpg-exit=on,vmx-mwait-exit=on,vmx-rdpmc-exit=on,vmx-rdtsc-exit=on,vmx-cr3-load-noexit=on,vmx-cr3-store-noexit=on,vmx-cr8-load-exit=on,vmx-cr8-store-exit=on,vmx-flexpriority=on,vmx-vnmi-pending=on,vmx-movdr-exit=on,vmx-io-exit=on,vmx-io-bitmap=on,vmx-mtf=on,vmx-msr-bitmap=on,vmx-monitor-exit=on,vmx-pause-exit=on,vmx-secondary-ctls=on,vmx-exit-nosave-debugctl=on,vmx-exit-ack-intr=on,vmx-exit-save-pat=on,vmx-exit-load-pat=on,vmx-exit-save-efer=on,vmx-exit-load-efer=on,vmx-exit-save-preemption-timer=on,vmx-entry-noload-debugctl=on,vmx-entry-ia32e-mode=on,vmx-entry-load-pat=on,vmx-entry-load-efer=on
\
+-cpu
Skylake-Client-IBRS,ss=on,vmx=on,hypervisor=on,tsc-adjust=on,clflushopt=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaves=on,pdpe1gb=on,skip-l1dfl-vmentry=on,pschange-mc-no=on,vmx-ins-outs=on,vmx-true-ctls=on,vmx-store-lma=on,vmx-activity-hlt=on,vmx-vmwrite-vmexit-fields=on,vmx-apicv-xapic=on,vmx-ept=on,vmx-desc-exit=on,vmx-rdtscp-exit=on,vmx-apicv-x2apic=on,vmx-vpid=on,vmx-wbinvd-exit=on,vmx-unrestricted-guest=on,vmx-rdrand-exit=on,vmx-invpcid-exit=on,vmx-vmfunc=on,vmx-shadow-vmcs=on,vmx-rdseed-exit=on,vmx-pml=on,vmx-xsaves=on,vmx-invvpid=on,vmx-invvpid-single-addr=on,vmx-invvpid-all-context=on,vmx-ept-execonly=on,vmx-page-walk-4=on,vmx-ept-2mb=on,vmx-ept-1gb=on,vmx-invept=on,vmx-eptad=on,vmx-invept-single-context=on,vmx-invept-all-context=on,vmx-intr-exit=on,vmx-nmi-exit=on,vmx-vnmi=on,vmx-preemption-timer=on,vmx-vintr-pending=on,vmx-tsc-offset=on,vmx-hlt-exit=on,vmx-invlpg-exit=on,vmx-mwait-exit=on,vmx-rdpmc-exit=on,vmx-rdtsc-exit=on,vmx-cr3-load-noexit=on,vmx-cr3-store-noexit=on,vmx-cr8-load-exit=on,vmx-cr8-store-exit=on,vmx-flexpriority=on,vmx-vnmi-pending=on,vmx-movdr-exit=on,vmx-io-exit=on,vmx-io-bitmap=on,vmx-mtf=on,vmx-msr-bitmap=on,vmx-monitor-exit=on,vmx-pause-exit=on,vmx-secondary-ctls=on,vmx-exit-nosave-debugctl=on,vmx-exit-ack-intr=on,vmx-exit-save-pat=on,vmx-exit-load-pat=on,vmx-exit-save-efer=on,vmx-exit-load-efer=on,vmx-exit-save-preemption-timer=on,vmx-entry-noload-debugctl=on,vmx-entry-ia32e-mode=on,vmx-entry-load-pat=on,vmx-entry-load-efer=on,vmx-eptp-switching=on
\
-m size=219136k \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
--
2.39.2