Signed-off-by: Tim Wiederhake <twiederh(a)redhat.com>
---
src/cpu_map/x86_features.xml | 16 ++++++++++++++++
.../x86_64-cpuid-Atom-P5362-enabled.xml | 1 +
.../cputestdata/x86_64-cpuid-Atom-P5362-json.xml | 5 +++++
.../x86_64-cpuid-Cooperlake-enabled.xml | 1 +
.../cputestdata/x86_64-cpuid-Cooperlake-json.xml | 5 +++++
.../x86_64-cpuid-Core-i7-8550U-enabled.xml | 1 +
.../x86_64-cpuid-Core-i7-8550U-json.xml | 4 ++++
.../x86_64-cpuid-Xeon-Platinum-9242-enabled.xml | 1 +
.../x86_64-cpuid-Xeon-Platinum-9242-json.xml | 5 +++++
..._64-cpuid-baseline-Cooperlake+Cascadelake.xml | 5 +++++
tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml | 4 ++++
tests/domaincapsdata/qemu_4.2.0.x86_64.xml | 4 ++++
tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml | 4 ++++
tests/domaincapsdata/qemu_5.0.0.x86_64.xml | 4 ++++
.../cpu-host-model.x86_64-4.2.0.args | 2 +-
.../cpu-host-model.x86_64-5.0.0.args | 2 +-
16 files changed, 62 insertions(+), 2 deletions(-)
diff --git a/src/cpu_map/x86_features.xml b/src/cpu_map/x86_features.xml
index f37b817013..6e427c3998 100644
--- a/src/cpu_map/x86_features.xml
+++ b/src/cpu_map/x86_features.xml
@@ -932,4 +932,20 @@
<feature name='vmx-invept-all-context'>
<msr index='0x48c' edx='0x00000000' eax='0x04000000'/>
</feature>
+
+ <feature name='vmx-intr-exit'>
+ <msr index='0x48d' edx='0x00000000' eax='0x00000001'/>
+ </feature>
+ <feature name='vmx-nmi-exit'>
+ <msr index='0x48d' edx='0x00000000' eax='0x00000008'/>
+ </feature>
+ <feature name='vmx-vnmi'>
+ <msr index='0x48d' edx='0x00000000' eax='0x00000020'/>
+ </feature>
+ <feature name='vmx-preemption-timer'>
+ <msr index='0x48d' edx='0x00000000' eax='0x00000040'/>
+ </feature>
+ <feature name='vmx-posted-intr'>
+ <msr index='0x48d' edx='0x00000000' eax='0x00000080'/>
+ </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 195bf88765..52c23315b3 100644
--- a/tests/cputestdata/x86_64-cpuid-Atom-P5362-enabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Atom-P5362-enabled.xml
@@ -11,4 +11,5 @@
<msr index='0x485' edx='0x00000000' eax='0x20000060'/>
<msr index='0x48b' edx='0x00000000' eax='0x00136bff'/>
<msr index='0x48c' edx='0x00000501' eax='0x06330041'/>
+ <msr index='0x48d' edx='0x00000000' eax='0x000000e9'/>
</cpudata>
diff --git a/tests/cputestdata/x86_64-cpuid-Atom-P5362-json.xml
b/tests/cputestdata/x86_64-cpuid-Atom-P5362-json.xml
index d7d8d89d42..4583c000b7 100644
--- a/tests/cputestdata/x86_64-cpuid-Atom-P5362-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Atom-P5362-json.xml
@@ -50,6 +50,11 @@
<feature policy='require' name='vmx-eptad'/>
<feature policy='require' name='vmx-invept-single-context'/>
<feature policy='require' name='vmx-invept-all-context'/>
+ <feature policy='require' name='vmx-intr-exit'/>
+ <feature policy='require' name='vmx-nmi-exit'/>
+ <feature policy='require' name='vmx-vnmi'/>
+ <feature policy='require' name='vmx-preemption-timer'/>
+ <feature policy='require' name='vmx-posted-intr'/>
<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 7acddcae81..0720cfa332 100644
--- a/tests/cputestdata/x86_64-cpuid-Cooperlake-enabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Cooperlake-enabled.xml
@@ -12,4 +12,5 @@
<msr index='0x485' edx='0x00000000' eax='0x20000060'/>
<msr index='0x48b' edx='0x00000000' eax='0x00137bff'/>
<msr index='0x48c' edx='0x00000501' eax='0x06330041'/>
+ <msr index='0x48d' edx='0x00000000' eax='0x000000e9'/>
</cpudata>
diff --git a/tests/cputestdata/x86_64-cpuid-Cooperlake-json.xml
b/tests/cputestdata/x86_64-cpuid-Cooperlake-json.xml
index 1dee592f23..d6f4317d69 100644
--- a/tests/cputestdata/x86_64-cpuid-Cooperlake-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Cooperlake-json.xml
@@ -46,4 +46,9 @@
<feature policy='require' name='vmx-eptad'/>
<feature policy='require' name='vmx-invept-single-context'/>
<feature policy='require' name='vmx-invept-all-context'/>
+ <feature policy='require' name='vmx-intr-exit'/>
+ <feature policy='require' name='vmx-nmi-exit'/>
+ <feature policy='require' name='vmx-vnmi'/>
+ <feature policy='require' name='vmx-preemption-timer'/>
+ <feature policy='require' name='vmx-posted-intr'/>
</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 1309da972b..8cdc42a401 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-enabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-enabled.xml
@@ -10,4 +10,5 @@
<msr index='0x485' edx='0x00000000' eax='0x20000060'/>
<msr index='0x48b' edx='0x00000000' eax='0x001378ff'/>
<msr index='0x48c' edx='0x00000501' eax='0x06330041'/>
+ <msr index='0x48d' edx='0x00000000' eax='0x00000069'/>
</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 8e590da2c9..9c2014affc 100644
--- a/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Core-i7-8550U-json.xml
@@ -46,6 +46,10 @@
<feature policy='require' name='vmx-eptad'/>
<feature policy='require' name='vmx-invept-single-context'/>
<feature policy='require' name='vmx-invept-all-context'/>
+ <feature policy='require' name='vmx-intr-exit'/>
+ <feature policy='require' name='vmx-nmi-exit'/>
+ <feature policy='require' name='vmx-vnmi'/>
+ <feature policy='require' name='vmx-preemption-timer'/>
<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 a9bf08018a..dabcd6c793 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-enabled.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-enabled.xml
@@ -11,4 +11,5 @@
<msr index='0x485' edx='0x00000000' eax='0x20000060'/>
<msr index='0x48b' edx='0x00000000' eax='0x00137bff'/>
<msr index='0x48c' edx='0x00000501' eax='0x06330041'/>
+ <msr index='0x48d' edx='0x00000000' eax='0x000000e9'/>
</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 edb4dfbb5c..5128582940 100644
--- a/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-json.xml
+++ b/tests/cputestdata/x86_64-cpuid-Xeon-Platinum-9242-json.xml
@@ -52,4 +52,9 @@
<feature policy='require' name='vmx-eptad'/>
<feature policy='require' name='vmx-invept-single-context'/>
<feature policy='require' name='vmx-invept-all-context'/>
+ <feature policy='require' name='vmx-intr-exit'/>
+ <feature policy='require' name='vmx-nmi-exit'/>
+ <feature policy='require' name='vmx-vnmi'/>
+ <feature policy='require' name='vmx-preemption-timer'/>
+ <feature policy='require' name='vmx-posted-intr'/>
</cpu>
diff --git a/tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Cascadelake.xml
b/tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Cascadelake.xml
index 0918fc96cb..36db05d0a1 100644
--- a/tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Cascadelake.xml
+++ b/tests/cputestdata/x86_64-cpuid-baseline-Cooperlake+Cascadelake.xml
@@ -52,4 +52,9 @@
<feature policy='require' name='vmx-eptad'/>
<feature policy='require' name='vmx-invept-single-context'/>
<feature policy='require' name='vmx-invept-all-context'/>
+ <feature policy='require' name='vmx-intr-exit'/>
+ <feature policy='require' name='vmx-nmi-exit'/>
+ <feature policy='require' name='vmx-vnmi'/>
+ <feature policy='require' name='vmx-preemption-timer'/>
+ <feature policy='require' name='vmx-posted-intr'/>
</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 563c2cbd24..5d1e1ef6c3 100644
--- a/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_4.2.0-q35.x86_64.xml
@@ -90,6 +90,10 @@
<feature policy='require' name='vmx-eptad'/>
<feature policy='require' name='vmx-invept-single-context'/>
<feature policy='require' name='vmx-invept-all-context'/>
+ <feature policy='require' name='vmx-intr-exit'/>
+ <feature policy='require' name='vmx-nmi-exit'/>
+ <feature policy='require' name='vmx-vnmi'/>
+ <feature policy='require' name='vmx-preemption-timer'/>
</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 2ee9422dd3..00687b8a5e 100644
--- a/tests/domaincapsdata/qemu_4.2.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_4.2.0.x86_64.xml
@@ -89,6 +89,10 @@
<feature policy='require' name='vmx-eptad'/>
<feature policy='require' name='vmx-invept-single-context'/>
<feature policy='require' name='vmx-invept-all-context'/>
+ <feature policy='require' name='vmx-intr-exit'/>
+ <feature policy='require' name='vmx-nmi-exit'/>
+ <feature policy='require' name='vmx-vnmi'/>
+ <feature policy='require' name='vmx-preemption-timer'/>
</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 fbb7549ef5..83beaad6ac 100644
--- a/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.0.0-q35.x86_64.xml
@@ -90,6 +90,10 @@
<feature policy='require' name='vmx-eptad'/>
<feature policy='require' name='vmx-invept-single-context'/>
<feature policy='require' name='vmx-invept-all-context'/>
+ <feature policy='require' name='vmx-intr-exit'/>
+ <feature policy='require' name='vmx-nmi-exit'/>
+ <feature policy='require' name='vmx-vnmi'/>
+ <feature policy='require' name='vmx-preemption-timer'/>
</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 e8cd88a755..1fe5c0196f 100644
--- a/tests/domaincapsdata/qemu_5.0.0.x86_64.xml
+++ b/tests/domaincapsdata/qemu_5.0.0.x86_64.xml
@@ -89,6 +89,10 @@
<feature policy='require' name='vmx-eptad'/>
<feature policy='require' name='vmx-invept-single-context'/>
<feature policy='require' name='vmx-invept-all-context'/>
+ <feature policy='require' name='vmx-intr-exit'/>
+ <feature policy='require' name='vmx-nmi-exit'/>
+ <feature policy='require' name='vmx-vnmi'/>
+ <feature policy='require' name='vmx-preemption-timer'/>
</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 7f06d6c410..2611cf3265 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
\
+-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
\
-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 030d129e66..02baa07418 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
\
+-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
\
-m size=219136k \
-overcommit mem-lock=off \
-smp 1,sockets=1,cores=1,threads=1 \
--
2.39.2