[libvirt PATCH 08/12] cpu_map: Add missing vmx features from MSR 0x48D

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Signed-off-by: Tim Wiederhake <twiederh@xxxxxxxxxx>
---
 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
_______________________________________________
Devel mailing list -- devel@xxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux